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: indica quando o ponto de dados foi registrado.
Metadados: um rótulo ou tag que identifica uma série de dados e raramente muda. Os metadados são armazenados em
metaField
um. Você não pode adicionar ummetaField
campo a um documento de série temporal depois de criá-lo. Os metadados também são conhecidossource
como. Para mais informações, consulte metaFields.Métricas: pontos de dados individuais rastreados em incrementos no tempo, geralmente exibidos como pares de valores-chave que mudam com o tempo. As métricas também são conhecidas como valores.
Medições: documentos que contêm dados para todas as métricas em um ponto específico no tempo. Uma medição inclui o tempo, os metadados e todas as métricas registradas naquele momento.
Esta tabela mostra exemplos de dados de série temporal:
Exemplo | Métricas | 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.
O exemplo a seguir mostra um documento de medição para dados meteorológicos:
{ "timestamp": ISODate("2025-08-19T12:00:00Z"), "metaField": { "sensorId": "A1234", "location": { "city": "New York", "state": "NY" } }, "temperature": 25.4, "humidity": 48.2, "pressure": 1012.5, "windSpeed": 5.2, "windDirection": "NW" }
Neste exemplo, a medida contém:
Um carimbo de data/hora mostrando quando os dados foram registrados.
Metadados que identificam o sensor e sua localização.
Várias métricas, incluindo temperatura, Umidade, Pressão, Velocidade do Ventos e direção, coletadas no momento determinado.
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ção de séries temporais na IU para implantações hospedadas no MongoDB Atlas.
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.
Benefícios
Comparadas com coleções normais, armazenar dados de séries temporais em coleções de séries temporais melhora a eficiência da query e reduz o uso do disco para dados de séries temporais e índices secundários. O MongoDB 6.3 e versões posteriores criam automaticamente um índice composto nos campos de tempo e metadados para novas coleções de séries temporais.
As coleções de séries temporais utilizam um formato de armazenamento em colunas subjacente e armazenamento dados em ordem de tempo. Esse formato 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
Exemplos de casos de uso
As coleções de séries temporais são ideais para analisar dados ao longo do tempo. A tabela a seguir ilustra casos de uso para dados de série temporal:
Setor | Exemplos |
---|---|
Internet das coisas (IoT) |
|
Serviços financeiros |
|
Varejo e comércio eletrônico |
|
DevOps |
|
As coleções de Time Series não se destinam aos seguintes tipos de dados:
Dados não ordenados
Dados que não são dependentes do tempo
Comportamento
As coleções de séries temporais geralmente se comportam como outras coleções do MongoDB. Você insere e executa consulta de dados como de costume.
Aviso
Expressões de correspondência em comandos de atualização podem especificar somente o metaField. Você não pode atualizar outros campos em um documento de série temporal. Para obter mais detalhes, consulte Limitações de atualização de séries temporais.
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.
Iniciando no MongoDB 6,3: se você criar uma nova coleção de séries temporais, o MongoDB também gera um índice composto nos campos metaField e timeField. Para melhorar o desempenho da consulta, as consultas em coleções de séries temporais usam o novo índice composto. O índice composto também usa o formato de armazenamento otimizado.
Aviso
A partir do MongoDB 8.0, o uso de timeField
como uma chave de fragmento em uma coleção de séries temporais será descontinuado.
Além disso, a partir do MongoDB,8.0 se você criar uma coleção de séries temporais com uma chave de fragmento timeField
contendo, uma mensagem de log será adicionada ao arquivo de log no fragmento primário. Além disso, uma mensagem de log é adicionada a cada 12 horas no nó primário do conjunto de réplicas do servidor de configuração. As mensagens de log afirmam que o uso do timeField
como chave de fragmento em uma coleção de séries temporais está obsoleto e você deve refragmentar sua coleção usando o metaField
.
metaFields
Documentos de séries temporais podem conter um metaField com metadados sobre cada documento. O MongoDB usa o metaField para agrupar conjuntos de documentos, tanto para otimização do armazenamento interno quanto para eficiência da consulta. Para obter mais informações sobre o metaField, consulte Considerações sobre o metaField.
Indexes
O MongoDB cria automaticamente um índice composto no metaField e no timeField de uma coleção de séries temporais.
Fragmentação de zona
A fragmentação de zona não oferece suporte a coleções de séries temporais. O balanceador sempre distribui dados em coleções de séries temporais fragmentadas uniformemente entre todos os fragmentos no cluster.
Próximos passos
Para começar a usar coleções de séries temporais, consulte os tutoriais nas páginas a seguir: