Séries temporais
Nesta página
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.
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
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
.
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.
Começar
Para começar a usar coleções de séries temporais, consulte Criar e consultar uma coleção de séries temporais.