Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/
Manual do banco de dados

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: 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 um metaField campo a um documento de série temporal depois de criá-lo. Os metadados também são conhecidos source 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.

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.

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

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

As expressões de correspondência nos comandos de atualização e exclusão só podem especificar o metaField. Você não pode atualizar outros campos em um documento de série temporal. Para obter mais detalhes, consulte Limitações de exclusão e 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.

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.

Os documentos de séries temporais podem conter um MetaField opcional para agrupar conjuntos de documentos, tanto para otimização do armazenamento interno quanto para eficiência de queries. Um MetaField raramente deve mudar e pode ser de qualquer tipo de dados. Um metaField pode ser um objeto e pode conter subcampos. Depois de definir um campo como MetaField, você pode alterar o valor do MetaField, mas não pode redefinir o MetaField como outro campo. Por exemplo, se você criar documentos de séries temporais com o MetaField definido como campo A, não poderá converter posteriormente um campo B em MetaField. No entanto, se o valor de MetaField A for um objeto, você poderá adicionar novos subcampos ao campo A.

Observação

O uso de uma array como metaField pode causar um comportamento inesperado de coleção porque a igualdade da matriz depende de uma ordem específica.

O MongoDB usa o metaField para particionar dados para organização e recuperação eficientes. Quando você cria uma coleção de séries temporais, o MongoDB agrupa documentos em buckets. Os documentos em um bucket compartilham um valor metaField idêntico e têm valores timeField próximos.

O número de buckets em uma coleção de séries temporais depende do número de valores exclusivos de metaField. Coleções com valores de MetaField refinados ou dinâmicos podem gerar mais compartimentos de curta duração e pouco compactados do que coleções com MetaCampos simples que raramente ou nunca são alterados. Valores de metaField refinados e dinâmicos normalmente diminuem a eficiência do armazenamento e da consulta.

O MongoDB cria automaticamente um índice composto no metaField e no timeField de uma coleção de séries temporais.

  • Selecione campos que raramente ou nunca mudam como parte do seu MetaField.

  • Se possível, selecione identificadores ou outros valores estáveis que sejam comuns em expressões de filtro como parte de seu metaField.

  • Evite selecionar campos que não sejam usados para filtragem como parte do seu MetaField. Em vez disso, use esses campos como medidas.

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.

Para começar a usar coleções de séries temporais, consulte Criar e consultar uma coleção de séries temporais.

Voltar

Servidor MCP

Nesta página