Séries temporais
Dados de séries temporais são uma sequência de pontos de dados na qual insights são obtidos analisando as mudanças ao longo do tempo.
Os dados de série temporal geralmente são compostos destes componentes:
Hora em que o ponto de dados foi registrado.
Metadados (às vezes chamados de origem), que são um rótulo ou marcação que identifica exclusivamente uma série e raramente muda.
Medições (às vezes chamadas de métricas ou valores), que são os pontos de dados rastreados em incrementos no tempo. Geralmente, são pares de valor-chave que mudam com o tempo.
Esta tabela mostra exemplos de dados de série temporal:
Exemplo | Medição | Metadata |
---|---|---|
Dados das ações | Preço das ações | Código de ações, câmbio |
Dados meteorológicos | Temperatura | Identificador do sensor, localização |
Visitantes do website | Contagem de visualizações | URL |
Para armazenamento eficiente de dados de séries temporais, o MongoDB fornece coleções de séries temporais.
Coleções de Time Series
Novidades na versão 5.0.
As coleções de séries temporais armazenam dados de séries temporais de forma eficiente. Em coleções de séries temporais, as gravações são organizadas para que os dados da mesma fonte sejam armazenados junto com outros pontos de dados de um ponto no tempo semelhante.
Você pode criar coleções de séries temporais na IU para implantações hospedadas no MongoDB Atlas.
Benefícios
Comparadas com coleções normais, armazenar dados de série temporal em coleções de série temporal melhora a eficiência da query e reduz o uso do disco para dados de série temporal e índices secundários.
A coleção de séries temporais utiliza um formato de armazenamento em colunas subjacente e armazena dados em ordem de tempo com um índice clusterizado criado automaticamente. O formato de armazenamento em colunas oferece os seguintes benefícios:
Menos complexidade para trabalhar com dados de séries temporais
Mais eficiência da query
Uso de disco reduzido
Menos E/S em operações de leitura
Aumento do uso de cache do WiredTiger
Comportamento
As coleções de séries temporais se comportam como collections normais. Você pode inserir e consultar seus dados normalmente.
O MongoDB trata as coleções de séries temporais como visualizações não materializadas graváveis, apoiadas por uma collection interna. Quando você insere dados, a collection interna organiza automaticamente os dados de série temporal em um formato de armazenamento otimizado.
Ao query coleção de séries temporais, você opera em um documento por medida. Queries on time series collections take advantage of the optimized internal storage format and return results faster.
Dica
Para melhorar o desempenho da query, você pode adicionar índices secundários manualmente em campos de medição ou em qualquer campo em sua coleção de séries temporais
Importante
Funcionalidade incompatível com versões anteriores
Você deve descartar coleções de séries temporais antes de fazer downgrade:
MongoDB 6.0 ou posterior para MongoDB 5.0.7 ou anterior.
MongoDB 5.3 para MongoDB 5.0.5 ou anterior.
Aviso
Não tente criar uma coleção de séries temporais ou visualizar com o nome system.profile
porque o servidor MongoDB falhará.
Índice interno
Quando você cria uma coleção de séries temporais, o MongoDB cria automaticamente um índice interno agrupado no campo de tempo. Este índice melhora a eficiência da query e reduz o uso do disco. Para saber mais sobre os benefícios de desempenho dos índices clusterizados, consulte Coleções clusterizadas.
O índice interno não é listado quando você executa listIndexes
.
Observação
Se você inserir um documento em uma coleção com um valor timeField
antes 1970-01-01T00:00:00.000Z
ou depois 2038-01-19T03:14:07.000Z
, o MongoDB registrará um aviso e impedirá que algumas otimizações de query usem o índice interno. Criar um índice secundário no timeField
para recuperar o desempenho da query e resolver o aviso de log.
Começar
Para começar a usar coleções de séries temporais, consulte Criar e consultar uma coleção de séries temporais.