QuestDB 8.0 é lançado com velocidade e eficiência

logo do Questdb

O QuestDB é um banco de dados de séries temporais de alto desempenho com análises SQL que pode lidar com a ingestão e análise de dados. A versão 8.0 do QuestDB, lançada recentemente, trouxe uma série de melhorias significativas.

Em termos de desempenho, o QuestDB 8.0 apresenta uma melhoria média de desempenho de cerca de 50% em relação ao seu já rápido desempenho de consulta SQL. Essa melhoria de desempenho é resultado de uma série de otimizações que foram implementadas.

Além disso, o QuestDB 8.0 adicionou suporte para compressão de dados para o sistema de arquivos (Open)ZFS. Essa integração de compressão de dados OpenZFS estava disponível anteriormente apenas em sua versão empresarial, mas agora está disponível no QuestDB de código aberto. A compressão é fornecida via ZFS, e espera-se uma redução de pelo menos 6x na utilização de armazenamento.

Outra adição importante no QuestDB 8.0 é o suporte para o tipo de dados VARCHAR. O VARCHAR, que significa caractere variável, tem sido uma parte integral do SQL desde quase o seu início. Sua adoção no QuestDB oferece benefícios sobre o tipo STRING existente, como menor requisito de armazenamento e otimização para operações comuns (filtragem, classificação).

Como o QuestDB se compara a outros bancos de dados SQL?

O QuestDB é um banco de dados de séries temporais de alto desempenho que se destaca em vários aspectos quando comparado a outros bancos de dados SQL, como o SQL Server e o PostgreSQL.

Desempenho e Escalabilidade

  • O QuestDB é projetado para escalabilidade horizontal, permitindo a distribuição de dados e consultas em vários nós para aumentar o desempenho e a disponibilidade.
  • Ele oferece alto desempenho com suporte para escalabilidade horizontal e multithreading.
  • O QuestDB é especialmente eficaz para lidar com grandes volumes de dados baseados em tempo, graças às suas capacidades de ingestão de alto desempenho e análise SQL.

Modelo de Dados

  • Enquanto o SQL Server é um sistema de gerenciamento de banco de dados relacional, o QuestDB é um banco de dados de séries temporais.
  • O QuestDB adicionou suporte para o tipo de dados VARCHAR, que oferece benefícios sobre o tipo STRING existente, como menor requisito de armazenamento e otimização para operações comuns (filtragem, classificação).

Licença e Uso

  • O QuestDB é de código aberto sob a licença Apache 2.0, enquanto o SQL Server é de código fechado.
  • O QuestDB é adequado para casos de uso como monitoramento, observabilidade, IoT, análises em tempo real, serviços financeiros e negociação de alta frequência.

Comparação com outros bancos de dados

  • Em um benchmark de consulta de 4 bilhões de linhas por segundo, o QuestDB foi comparado com o TimescaleDB e o ClickHouse. O QuestDB 6.3 incluiu a execução de filtro SQL paralelo, permitindo reduzir os tempos de execução de consulta fria e quente de maneira bastante dramática.

Quem costuma utilizar o QuestDB?

O QuestDB é um banco de dados de séries temporais de alto desempenho que é usado por uma variedade de usuários, incluindo:

  1. Desenvolvedores e Engenheiros de Dados: O QuestDB é frequentemente usado por desenvolvedores e engenheiros de dados que precisam lidar com grandes volumes de dados baseados em tempo. Ele oferece alto desempenho e escalabilidade, tornando-o uma escolha popular para esses profissionais.
  2. Empresas de Tecnologia e Startups: Muitas empresas de tecnologia e startups usam o QuestDB para casos de uso como monitoramento, observabilidade, IoT, análises em tempo real, serviços financeiros e negociação de alta frequência.
  3. Usuários do Open Source: Como o QuestDB é de código aberto sob a licença Apache 2.0, ele atrai muitos usuários da comunidade de código aberto.
  4. Administradores de Banco de Dados: Os administradores de banco de dados podem usar o QuestDB para gerenciar e otimizar o desempenho de suas bases de dados de séries temporais.

O que é uma série temporal?

Uma série temporal é uma sequência de pontos de dados, normalmente consistindo de medições sucessivas feitas ao longo de um intervalo de tempo. As séries temporais são frequentemente representadas como uma sequência de dados onde o tempo é a variável independente e a ordem dos dados é importante.

Por exemplo, a temperatura medida em uma cidade ao longo de um ano, as vendas diárias de uma loja, o preço de uma ação a cada minuto, ou os batimentos cardíacos de uma pessoa são todos exemplos de dados de séries temporais.

Os bancos de dados de séries temporais, como o QuestDB, são otimizados para lidar com esse tipo de dados. Eles são projetados para eficientemente coletar, armazenar e consultar dados que são gerados ao longo do tempo, tornando-os ideais para monitoramento, rastreamento de tendências, e análise de dados baseados em tempo.

Quais são os recursos exclusivos do QuestDB?

O QuestDB é um banco de dados de séries temporais de código aberto que se destaca por uma série de recursos exclusivos:

  1. Manipulação de Ingestão Maciça: Com apenas 4 threads, o QuestDB pode lidar com quase 1 milhão de linhas por segundo. Isso é especialmente útil quando se lida com grandes volumes de dados baseados em tempo.
  2. Análise SQL Familiar: O QuestDB não requer linguagens de domínio específico obscuras. Você pode usar SQL e consultar seus dados usando sua biblioteca compatível com PostgreSQL favorita.
  3. Desduplicação de Alto Desempenho e Indexação Fora de Ordem com Cardinalidade Quase Ilimitada: Isso é essencial ao lidar com fluxos de dados massivos e em explosão. Muitos valores únicos? A alta cardinalidade não levará à degradação do desempenho.
  4. Extensões SQL de Séries Temporais: Extensões SQL rápidas e otimizadas por SIMD para facilitar a consulta e análise. Alguns dos recursos mais populares incluem SAMPLE BY, que resume os dados em pedaços com base em um intervalo de tempo especificado, WHERE IN para comprimir intervalos de tempo em intervalos concisos, LATEST ON para os valores mais recentes dentro de várias séries dentro de uma tabela, e ASOF JOIN para associar timestamps entre uma série baseada em proximidade.
  5. Compatibilidade com Protocolos Populares: O QuestDB é compatível com o Protocolo de Linha InfluxDB, Protocolo de Fio PostgreSQL e API REST HTTP. Isso facilita a integração com uma variedade de ferramentas e bibliotecas existentes.

Espero que isso ajude a entender os recursos exclusivos do QuestDB.