Configurar uma Coleção de séries temporais
Você pode configurar as regras de mapeamento para migrar uma tabela que contém uma coluna de data e hora para umacoleção de séries temporais . 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.
Sobre esta tarefa
Você pode usar personalizações de campo para converter colunas de string em campos de data e hora no Relational Migrator.
Os trabalhos de CDC que têm configurações de séries temporais não criam as coleções de séries temporais até que o tarefa de CDC seja concluído.
Em comparação 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.
Os casos de uso para coleções de séries temporais incluem IoT, projeção e análise baseada no tempo.
Antes de começar
Para obter detalhes completos sobre cada componente de campo de série temporal, consulte Referência de campo de série temporal.
Se os dados de série temporal em seu tarefa de sincronização não exigirem nenhuma transformação complexa, você poderá se beneficiar da migração de seus dados de série temporal como um tarefa de sincronização separado. Isso pode facilitar o pré-carregamento de uma grande coleção de séries temporais e a migração do restante dos dados após a conclusão do tarefa inicial.
Se você estiver migrando grandes quantidades de dados, convém usar filtros de tabela para dividir seus trabalhos de sincronização em lotes. Por exemplo, você pode importar um ano de dados históricos de cada vez. Isso permite que você divida um tarefa grande em segmentos mais gerenciáveis.
Se um tarefa de sincronização de longa duração falhar inesperadamente (por exemplo , devido a uma interrupção do banco de dados de dados) e não for possível recuperar automaticamente, você poderá usar os filtros da tabela para criar um novo tarefa de sincronização que começa de onde o anterior ficou desligado. Essa abordagem permite que você evite ter que repetir todo o tarefa de sincronização.
Passos
Configurar a coleção de séries temporais
No painel Mappings , clique em Botão Configure .
Selecione o botão de opção Time Series Collection .
Selecione um Time Field.
Time Field
é o nome do campo que contém o campo de data e hora em cada documento de série temporal. Os documentos em uma coleção de série temporal devem ter um tipo de dados de data BSON válido. Para obter detalhes sobre como converter um campo em um tipo de data e hora no Relational Migrator, consulte Personalizações de campo.Observação
Se você tiver várias colunas de data e hora, deverá selecionar um único campo por coleção de séries temporais.
(Opcional) Selecione um Meta Field
Meta Field
é o nome do campo que contém metadados em cada documento de série temporal. Os metadados no campo especificado são usados para rotular uma série exclusiva de documentos. Os metadados devem mudar raramente.Selecione um Granularity.
Especifique um valor de
Granularity
que melhor corresponda ao tempo entre carimbos de data/hora consecutivos de entrada. Definir a granularidade correta melhora o desempenho otimizando a forma como o MongoDB armazena dados na collection. Os valores possíveis sãoseconds
,minutes
ehours
.(Opcional) Selecione um Expire After Seconds.
Expire After Seconds
habilita a exclusão automática de documentos em uma coleção de séries temporais especificando o número de segundos após os quais os documentos expiram. O MongoDB exclui documentos expirados automaticamente.Clique em Save And Close.
Observação
Quando uma coleção é configurada com um campo de série temporal , o ícone de série temporal é exibido ao lado do nome da coleção no painel Schema model .
Exemplo
O exemplo a seguir converte a coluna rental_date
em um campo de série temporal no MongoDB:
tenant_id | tenant_date | inventário_id | customer_id | return_date | personal_id | last_updated |
---|---|---|---|---|---|---|
1 | 2005-05-24 22:53:30 | 367 | 130 | 2005-05-26 22:04:30 | 1 | 2006-02-15 20:30:53 |
{ rental_date: { $date: "2005-05-24T22:53:30.000Z", }, last_updated: "2006-02-16T01:30:53Z", customerId: 130, rental_date: { $date: "2005-05-26T22:04:30.000Z", }, _id: { $oid: "661597470a883992d56d60d6", }, inventory_id: 367, staff_id: 1, rental_id: 1, }