Menu Docs
Página inicial do Docs
/
Manual do MongoDB

Séries temporais

Nesta página

  • Coleções de Time Series
  • Benefícios
  • Exemplos de casos de uso
  • Comportamento
  • metaFields
  • Indexes
  • Começar

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 fonte), que é um rótulo ou etiqueta que identifica uma série de dados e raramente muda. Os metadados são armazenados em um metaField. Você não pode adicionar metaFields a documentos de time series depois de criá-los. Para obter mais informações sobre o comportamento e a seleção de metaFields, consulte metaFields.

  • 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.

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.

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.

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 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)
  • Dados do sensor (por exemplo, dispositivos domésticos inteligentes ou logística da frota)

  • Aprendizado de máquina e raspagem de inteligência artificial

Serviços financeiros
  • Negociação de alta frequência

  • Análise quantitativa financeira

  • Dados bancários (por exemplo, contabilidade de transações bancárias ao longo do tempo)

  • Dados do mercado de ações

Varejo e comércio eletrônico
  • Análise de transações, vendas e preços

  • Gerenciamento de estoque

DevOps
  • Logging de aplicativo

  • Monitoramento de infraestrutura e rede

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

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

Não tente criar uma coleção de séries temporais ou visualizar com o nome system.profile. .MongoDB 63 e versões posteriores retornam um erro IllegalOperation se você tentar fazê-lo. Falha nas versões anteriores do MongoDB.

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.

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.

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

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

Voltar

Referência