Um banco de dados de séries temporais fornece aplicativos em tempo real com conjuntos de registros baseados em um período. Embora todos os bancos de dados permitam armazenar dados com um carimbo de data/hora, um banco de dados de séries cronológicas é otimizado para conjuntos de registros em que os dados contam uma história em ordem cronológica. A duração de um conjunto de dados pode estar dentro de alguns milissegundos um do outro, ou um banco de dados de série temporal pode ser usado para pontos de dados de hora em hora, diários, mensais ou anuais.
O que é um banco de dados de série temporal?
Embora cada mecanismo de banco de dados permita que os desenvolvedores armazenem um carimbo de data/hora em um registro, um banco de dados de séries temporais (TSDB, Time Series Database) foi desenvolvido especificamente para conjuntos de registros focados em um período. Por exemplo, você pode precisar de atualizações minuto a minuto em um aplicativo meteorológico. Um banco de dados de série temporal pode armazenar dados a cada minuto para exibição aos usuários. Um TSDB pode ser uma opção em vez de bancos de dados NoSQL padrão, como o MongoDB, quando você precisa de consultas baseadas em tempo mais refinadas.
Como um TSDB é usado principalmente para recuperar dados, esses bancos de dados são frequentemente otimizados para leituras e criação de novos registros. Como os TSDBs raramente atualizam registros, eles são desenvolvidos para melhor recuperação de registros com base em um carimbo de data/hora em comparação com outros bancos de dados comuns. Os TSDBs também são melhores para aplicativos em tempo real em que os usuários recebem um conjunto linear de informações com base no carimbo de data/hora em cada registro.
Como funciona um banco de dados de série temporal?
A melhor maneira de entender como funciona um banco de dados de série temporal é usar um exemplo. Suponha que você tenha sensores em uma máquina que depende da temperatura. As temperaturas mudam minuto a minuto, para que um banco de dados de séries temporais possa ser usado para rastrear a temperatura e o carimbo de data/hora. Outras propriedades da máquina podem ser registradas, incluindo a localização da máquina, a umidade e a temperatura ambiente.
Conforme a máquina é executada, os sensores armazenam dados em um TSDB. O TSDB armazena cada registro na ordem em que os sensores coletam informações. Você não precisa atualizar registros, mas precisa recuperá-los para monitorar o sistema. O mecanismo de armazenamento TSDB funciona otimizando consultas para grandes conjuntos de dados e recuperando dados com base em registros de data e hora. Fluxos de dados com registro de data e hora são enviados aos analistas para monitorar máquinas e tomar decisões para manutenção.
Benefícios de usar um banco de dados de série temporal
Um mecanismo TSDB foi desenvolvido para armazenar grandes volumes de dados e fornecer grandes conjuntos de registros. Os aplicativos em tempo real se beneficiam do mecanismo otimizado do TSDB para recuperação de dados a cada segundo ou minuto. Soluções de monitoramento que exigem previsões de grandes volumes de dados ou informações em tempo real se beneficiam da escala e da velocidade de um banco de dados de série temporal.
Como os registros normalmente contêm um pequeno número de campos, a consulta é simplificada para desenvolvedores. Um TSDB pode retornar milhares de registros, mas o conjunto de registros frequentemente contém apenas alguns campos. O número limitado de campos e consultas simplificadas aceleram o desempenho de aplicativos em tempo real e reduzem a sobrecarga no servidor de banco de dados.
Casos de uso para bancos de dados de série temporal
Setores em que a IoT é comum ou grandes pontos de dados com carimbos de data/hora são necessários para previsões e monitoramento são ideais para um banco de dados de série temporal. A fabricação e outros setores em que os sensores de IoT são essenciais para o tempo de atividade trabalham com bancos de dados de série temporal para prever problemas antes que eles interrompam os serviços. Por exemplo, um fabricante usa dados de sensores IoT para prever quando as máquinas precisam de manutenção ou podem sofrer uma falha de hardware em breve.
Aplicativos de rede grandes podem trabalhar com bancos de dados de séries temporais para prever interrupções ou identificar ameaças potenciais. A infraestrutura de rede crítica pode dar suporte a um grande provedor de serviços de Internet ou a um datacenter, e os dados com registro de data e hora podem alertar um analista de segurança sobre uma possível interrupção quando as temperaturas ambientes são muito altas ou o hardware envia informações corrompidas, indicando possível tempo de inatividade. Qualquer aplicativo crítico em tempo real funciona com um banco de dados de série temporal para desempenho e escalabilidade. Por exemplo, se o uso da CPU do servidor aumentar com frequência, pode ser hora de atualizá-la ou substituir uma CPU para evitar tempo de inatividade e falhas do sistema.
Soluções populares de banco de dados de série temporal
Se você ainda não trabalhou com um banco de dados de série temporal, há várias opções populares para escolher. Aqui estão algumas soluções TSDB para seus aplicativos:
- InfluxDB: Essa solução de coluna é para consultas otimizadas em tempo real e análise de coluna.
- Prometheus: Esse TSDB é ideal para dados dimensionais e análise de visualização. Os desenvolvedores da Prometheus oferecem uma ferramenta de monitoramento de código aberto e um mecanismo de banco de dados.
- Escala de tempo: Esse popular TSDB é usado para IoT, sensores, criptografia e análise de AI.
Conclusão
Como é difícil mudar os provedores de banco de dados, você deve usar o que é certo desde o início. Se seu aplicativo exigir análise ou saída em tempo real com base em dados com carimbo de data/hora, um banco de dados de série temporal provavelmente é o ideal para você. Se você usa um banco de dados de série temporal, análise de Big Data ou mecanismos de banco de dados tradicionais, a Pure Storage tem a solução de armazenamento para dar suporte aos seus aplicativos de alto volume em tempo real.