Skip to Content

O que é um banco de dados de série temporal (TSDB)?

Vector illustration concept of time management isolated on blue background with long shadow.

Quando você precisa mostrar a cada minuto, dia a dia ou qualquer outra análise de intervalo de datas, você usa um banco de dados de séries temporais. Um banco de dados de séries temporais armazena pontos de dados com seus carimbos de data/hora associados para que as tendências dentro de um intervalo de tempo possam ser mostradas aos usuários. Ela é frequentemente usada na visualização de informações e análises baseadas em tempo.

O que é um banco de dados de série temporal?

Em um banco de dados de séries temporais, cada registro contém um carimbo de data/hora. O carimbo de data/hora pode ser usado para exibir um único ponto de dados ou em gráficos e análises. O banco de dados de séries temporais é usado especificamente para informações que exigem um intervalo de datas, como rastrear o tempo ou consultar eventos específicos registrados para fins de monitoramento.

O que é uma coleção de séries cronológicas?

Um banco de dados de séries temporais armazena todos os dados, mas uma coleta de séries temporais é uma fatia dos dados retirados do banco de dados e devolvidos ao aplicativo. As coletas de séries temporais são recuperadas do banco de dados na forma de um conjunto de dados, e o conjunto de dados contém pontos de dados para o intervalo de datas determinado. O usuário ou aplicativo envia o intervalo de tempo como entrada para o banco de dados, e o banco de dados retorna uma coleta para cada ponto de dados que se enquadra no intervalo determinado.

Como funciona um banco de dados de série temporal

Normalmente, um banco de dados de série temporal é criado para capturar grandes quantidades de dados para análise futura. Os usuários definem seu intervalo de datas em um aplicativo e o banco de dados retorna um conjunto de pontos de dados. O banco de dados funciona capturando dados em intervalos. Por exemplo, um ticker de ações pode exibir mudanças no preço de uma ação a cada minuto. O banco de dados armazena o nome, o preço e o carimbo de data/hora da ação para manter um registro do preço da ação a cada minuto para análise e informações históricas.

Os dados recuperados de um banco de dados de série temporal classificam os registros em ordem cronológica para que os desenvolvedores possam criar visualizações sem muita sobrecarga. Os bancos de dados são servidores avançados, para que possam classificar um conjunto de dados muito mais rapidamente do que um aplicativo web de front-end. O banco de dados de séries cronológicas recebe informações do aplicativo para determinar como os dados devem ser ordenados para que os desenvolvedores possam exibir análises aos usuários. Por exemplo, um usuário pode solicitar dados sobre preços de ações para um intervalo de datas específico e para que eles sejam classificados em ordem crescente.

Bancos de dados populares de séries cronológicas: Comparações

Cada banco de dados de séries temporais tem um mecanismo de back-end, que é usado para armazenar e recuperar dados. O mecanismo deve ser rápido e eficiente para armazenar grandes quantidades de dados enquanto é capaz de recuperá-los com muito pouca latência. Você pode armazenar dados baseados em tempo em um banco de dados tradicional, mas vários bancos de dados de séries temporais no mercado são desenvolvidos especificamente para consulta e armazenamento desse tipo de dados.

Por que usar o InfluxDB: TSDB de código aberto

Bancos de dados de código aberto são preferidos por alguns desenvolvedores porque eles podem forquilhar a base de código e fazer suas próprias alterações no produto base. O InfluxDB é um banco de dados de série temporal de código aberto que pode armazenar milhares de pontos de dados a cada segundo. Se você quiser monitorar infraestrutura, como dispositivos IoT para aplicativos industriais, o InfluxDB é uma boa escolha.

Prometheus vs. InfluxDB

A principal diferença entre o InfluxDB e o Prometheus é a maneira como os dados são recuperados. Com o InfluxDB, um aplicativo envia dados continuamente para o banco de dados onde são armazenados e recuperados. O Prometheus funciona por meio de uma API em que o aplicativo envia dados, e o banco de dados usa a API para pesquisar dados armazenados. Para grandes empresas com sistemas localizados em vários locais, a API baseada em nuvem do Prometheus permite que os desenvolvedores carreguem dados de vários locais onde eles podem ser analisados em um painel central.

TimescaleDB vs. InfluxDB

O InfluxDB é um banco de dados NoSQL, enquanto o TimescaleDB é um banco de dados relacional. Os bancos de dados relacionais funcionam de maneira muito diferente dos bancos de dados NoSQL. Um banco de dados relacional funciona com tabelas e chaves que podem ser usadas para juntar dados armazenados em cada tabela. É importante saber como um banco de dados armazena seus dados, pois a maneira como ele é recuperado usa uma sintaxe diferente. Se você conhece os dados que serão armazenados e pode organizá-los em tabelas, o TimescaleDB é uma opção viável.

Elasticsearch x InfluxDB

Para aumentar o desempenho, o Elasticsearch é um mecanismo comum usado em aplicativos corporativos. Seu desempenho é ligeiramente melhor do que o InfluxDB devido à sua capacidade de fragmentar índices, que são mapas de dados armazenados como um “documento” no Elasticsearch. O Elasticsearch deve ser usado para grandes conjuntos de dados, onde aplicativos e usuários recuperarão conjuntos de dados que podem abranger milhões de pontos de dados de uma ampla gama de carimbos de data/hora. Por exemplo, o Elasticsearch é benéfico para revisar arquivos de log usados para monitorar um ambiente de rede corporativa de grande porte para qualquer atividade suspeita do usuário.

Quando usar bancos de dados de série temporal

A maioria dos bancos de dados de séries cronológicas é usada para monitorar hardware ou software para que uma grande coleção de dados possa ser usada para analisar eventos específicos. Para obter uma imagem clara dos eventos em um ambiente, você precisa de muitos dados coletados de várias fontes. Por exemplo, sensores IoT podem coletar dados de temperatura de várias máquinas. Um banco de dados de séries cronológicas armazena a temperatura para cada minuto do dia para que os engenheiros possam identificar quaisquer anomalias e resolvê-las antes que o maquinário falhe.

Bancos de dados relacionais x de série temporal

A maioria dos bancos de dados de séries cronológicas usa documentos NoSQL para armazenar dados, o que é uma maneira comum de armazenar dados não estruturados. Dados não estruturados significam que os desenvolvedores podem armazenar dados como um carimbo de data/hora e um nome sem as restrições de organizar os dados em linhas de tabela definidas. Os bancos de dados relacionais exigem que os desenvolvedores armazenem dados usando estruturas específicas, para que não sejam opções viáveis para dados de série temporal com valores e tipos de dados desconhecidos. Por exemplo, um desenvolvedor não pôde armazenar um valor de string em uma coluna de registro de data e hora usando um banco de dados relacional, mas isso pode ser feito com um banco de dados NoSQL de série temporal.

Bancos de dados NoSQL x Time-series

Para valores desconhecidos, um banco de dados NoSQL é o método preferido. Você deve escolher um banco de dados compatível com NoSQL, como InfluxDB ou Elasticsearch. Esses bancos de dados de série temporal oferecem armazenamento de dados em massa com desempenho rápido durante consultas. Elas são reservadas principalmente para grandes aplicativos corporativos e são muito mais difíceis de implantar. Um banco de dados NoSQL configurado incorretamente pode inibir o desempenho durante o processamento da consulta.

Benefícios dos bancos de dados de série temporal

Cada banco de dados armazena informações, mas um banco de dados de série temporal é desenvolvido especificamente para análise baseada em tempo. O benefício de um banco de dados de série temporal é a capacidade de armazenar grandes quantidades de dados com cada ponto de dados que inclui um carimbo de data/hora. Por ser desenvolvido com grandes conjuntos de dados em mente, um banco de dados de série temporal é frequentemente mais rápido e muito mais eficiente na inserção de novos registros e na recuperação de grandes conjuntos de dados do que um banco de dados tradicional.

Os bancos de dados de séries temporais são frequentemente mais precisos para consultas envolvendo datas e horas, e armazenam dados de séries temporais com muito mais eficiência. Qualquer organização que queira armazenar dados de monitoramento se beneficiará de um banco de dados de série temporal. Os aplicativos se beneficiam de um banco de dados de série temporal com sua capacidade de recuperar grandes conjuntos de dados para análise, visualizações, tendências financeiras, informações de atividade e mudanças em um ambiente que acontece frequentemente durante o dia em intervalos diferentes.

Desvantagens dos bancos de dados de série temporal

Como ocorre com qualquer infraestrutura avançada, os bancos de dados de série temporal são mais difíceis de implantar e configurar corretamente. Como a maioria deles é NoSQL, um banco de dados NoSQL implantado inadequadamente sofrerá com um desempenho ruim se não for otimizado. As configurações exigem que alguém na organização entenda as maneiras adequadas de otimizar o banco de dados. 

Empresas que buscam armazenar dados de séries temporais precisam dos recursos para armazenar grandes quantidades de dados. Os dados podem ser armazenados na nuvem, mas aumentarão os custos de TI. A infraestrutura para dar suporte ao armazenamento de dados e ao processamento de banco de dados de série temporal pode ser cara.

Conclusão

Se você precisa encontrar uma solução melhor para dados baseados em tempo, um banco de dados de séries cronológicas é uma boa escolha. Analise os diferentes tipos de mecanismos de banco de dados, considere os custos e encontre um que se adapte ao crescimento dos negócios e ao aumento do armazenamento de dados. Lembre-se de revisar as configurações e opções de otimização para garantir que o banco de dados seja executado da maneira mais eficiente possível.

ENTRE EM CONTATO
Dúvidas ou comentários?

Tem dúvidas ou comentários sobre produtos ou certificações da Pure?  Estamos aqui para ajudar.

Agende uma demonstração

Agende uma demonstração ao vivo e veja você mesmo como a Pure pode ajudar a transformar seus dados em resultados poderosos. 

Telefone: 55-11-2844-8366

Imprensa: pr@purestorage.com

 

Sede da Pure Storage

Av. Juscelino Kubitschek, 2041

Torre B, 5º andar - Vila Olímpia

São Paulo, SP

04543-011 Brasil

info@purestorage.com

FECHAR
Seu navegador não é mais compatível.

Navegadores antigos normalmente representam riscos de segurança. Para oferecer a melhor experiência possível ao usar nosso site, atualize para qualquer um destes navegadores mais atualizados.