Examine bancos de dados analíticos em tempo actual em 2023: Rockset, Apache Druid, ClickHouse, Pinot


Atualizado em fevereiro de 2023

Nós construímos Conjunto de foguetes com a missão de tornar a análise em tempo actual fácil e acessível na nuvem. Colocamos nossos usuários em primeiro lugar e somos obcecados em ajudá-los a obter velocidade, escala e simplicidade em sua moderna pilha de dados em tempo actual (alguns dos quais discutirei em detalhes abaixo). Mas nós, como equipe, ainda levamos a sério os benchmarks de desempenho. Porque eles nos ajudam a comunicar que o desempenho é um dos principais valores dos produtos da Rockset.

Comparando com responsabilidade

Estamos de pleno acordo com Floco de neve e Databricks em uma coisa: qualquer pessoa que publique benchmarks deve fazê-los de maneira justa, transparente e replicável. Em geral, a forma como os fornecedores se comportam durante o benchmarking é um bom sinal de como operam e quais são os seus valores. No início desta semana, uma das Suggest (uma das empresas por trás do Apache Druid), publicou o que parece ser um weblog irônico alegando ser mais eficiente que o Rockset. Bem, como um cliente exigente, aqui estão os aspectos questionáveis ​​do benchmark da Suggest para você considerar:

  • A Suggest utilizou uma configuração de {hardware} que possui CPU 20% maior em comparação ao Rockset. Bons benchmarks visam a paridade de {hardware} para mostrar uma comparação igual.
  • O modelo de consumo em nuvem da Rockset permite dimensionar computação e armazenamento de forma independente. A Suggest fez afirmações imprecisas sobre preço-desempenho que deturpam os preços dos concorrentes.

Rockset superou o desempenho de consulta ClickHouse e Druid no Star Schema Benchmark. Rockset é 1,67 vezes mais rápido que ClickHouse com a mesma configuração de {hardware}. E 1,12 vezes mais rápido que o Druid, embora o Druid usasse 12,5% mais computação.

Resultados de referência SSB

O SSB mede o desempenho de 13 consultas típicas de aplicações de dados. É uma referência baseada em TPC-H e projetado para cargas de trabalho de information warehouse. Mais recentemente, tem sido utilizado para medir o desempenho de consultas envolvendo agregações e métricas em bancos de dados orientados a colunas ClickHouse e Druid.

Para alcançar a paridade de recursos, usamos a mesma configuração de {hardware} que o Altinity usou em seu último artigo publicado ClickHouse Referência de desempenho SSB. O {hardware} period uma única instância m5.8xlarge do Amazon EC2. A Suggest também lançou números SSB revisados ​​para Druid usando uma configuração de {hardware} com mais recursos de vCPU. Mesmo assim, a Rockset conseguiu superar os números do Druid em termos absolutos.

Também dimensionamos o tamanho do conjunto de dados para 100 GB e 600 milhões de linhas de dados, um fator de escala de 100, assim como Altinity e Suggest fizeram. À medida que Altinity e Suggest divulgaram resultados detalhados de desempenho de SSB em dados desnormalizados, nós seguimos o exemplo. Isso eliminou a necessidade de junções de tempo de consulta, embora isso seja algo que a Rockset esteja bem equipada para lidar.

Todas as consultas foram executadas em menos de 88 milissegundos no Rockset, com um tempo de execução agregado de 664 milissegundos em todo o conjunto de consultas SSB. O tempo de execução agregado do Clickhouse foi de 1.112 milissegundos. O tempo de execução agregado do Druid foi de 747 milissegundos. Com esses resultados, Rockset mostra uma aceleração geral de 1,67 em relação ao ClickHouse e 1,12 em relação ao Druid.


Examine bancos de dados analíticos em tempo actual em 2023: Rockset, Apache Druid, ClickHouse, Pinot

Figura 1: Gráfico comparando os tempos de execução ClickHouse, Druid e Rockset em SSB. A configuração do m5.8xlarge é de 32 vCPUs e 128 GiB de memória. c5.9xlarge tem 36 vCPUs e 72 GiB de memória.


gráfico ssb

Figura 2: Gráfico mostrando os tempos de execução ClickHouse, Druid e Rockset em consultas SSB.

Você pode se aprofundar nas melhorias de configuração e desempenho no Avaliação de desempenho do Rockset no benchmark Star Schema documento técnico. Este documento fornece uma visão geral dos dados e consultas do benchmark, descreve a configuração para executar o benchmark e discute os resultados da avaliação.

Dados em tempo actual no mundo actual

As montadoras medem, otimizam e publicam a velocidade com que podem ir de 0 a 60 mph, mas você, como cliente, testa e avalia um carro com base nisso e em uma infinidade de outras dimensões. Da mesma forma, ao escolher sua solução em tempo actual, aqui estão as considerações técnicas e as diferentes dimensões para comparar o Rockset, Druida Apache e ClickHouse sobre.

Começando pelos primeiros princípios, aqui estão as cinco características dos dados em tempo actual com as quais a maioria dos sistemas analíticos tem problemas fundamentais para lidar:

  1. Fluxos de dados enormes e muitas vezes intermitentes. Com dados de clickstream ou sensores, o quantity pode ser incrivelmente alto – muitos terabytes de dados por dia – bem como incrivelmente imprevisível, aumentando e diminuindo rapidamente.
  2. Alterar fluxos de captura de dados. Agora é possível capturar continuamente alterações conforme elas acontecem em seu banco de dados operacional, como MongoDB ou Amazon DynamoDB. O problema? A maioria dos bancos de dados analíticos, incluindo Apache Druid e ClickHouse, são imutáveis, o que significa que os dados não podem ser facilmente atualizados ou reescritos. Isso torna muito difícil permanecer sincronizado em tempo actual com o banco de dados OLTP
  3. Streams de eventos fora de ordem. Com fluxos em tempo actual, os dados podem chegar fora de ordem a tempo ou ser reenviados, resultando em duplicatas.
  4. JSON profundamente aninhado e esquemas dinâmicos. Os fluxos de dados em tempo actual normalmente chegam brutos e semiestruturados, digamos, na forma de um documento JSON, com vários níveis de aninhamento. Além disso, novos campos e colunas de dados aparecem constantemente.
  5. Destino: aplicativos de dados e microsserviços. Fluxos de dados em tempo actual normalmente potencializam análises ou aplicações de dados. Esta é uma mudança importante, porque os desenvolvedores agora são usuários finais e tendem a iterar e experimentar rapidamente, ao mesmo tempo que exigem mais flexibilidade do que se esperava de bancos de dados analíticos de primeira geração, como o Apache Druid.

Comparando Rockset, Apache Druid e ClickHouse

Dadas as características técnicas dos dados em tempo actual no mundo actual, aqui estão as dimensões úteis para comparar Rockset, Apache Druid e ClickHouse. Apache Pinot não está incluído nesta tabela de comparação, mas é semelhante a outros bancos de dados, com escala horizontal – um sistema de código aberto que foi projetado durante a period native. Todas as comparações dos concorrentes são derivadas de sua documentação até hoje

Conjunto de foguetesDruida ApacheClickHouse
Configurar
Configuração inicialCrie uma conta na nuvem e comece a ingerir dadosPlaneje a capacidade, provisione e configure nós no native ou na nuvemPlaneje a capacidade, provisione e configure nós no native ou na nuvem
Ingestão de dados
Ingerindo JSON aninhadoIngerir JSON aninhado sem nivelamentoAchatar JSON aninhadoSuporta JSON aninhado, mas JSON geralmente é nivelado
Ingestão de fluxos de CDCBanco de dados mutável lida com atualizações, inserções e exclusões no nativeInserir apenasPrincipalmente apenas inserção, com atualizações assíncronas implementadas como instruções ALTER TABLE UPDATE
Design de esquema e particionamentoIngerir dados como estão, sem esquema predefinidoEsquema especificado na ingestão, particionamento e classificação de dados necessários para ajustar o desempenhoEsquema especificado na criação da tabela
Transformando dados
Ingerir transformaçõesTransformações de ingestão baseadas em SQL, incluindo suporte DBTUse especificações de ingestão para filtragem de ingestão limitadaUse visualizações materializadas para transformar dados entre tabelas
Tipo de rollups de ingestãoRollups baseados em SQL com agregações em qualquer campoUse especificações de ingestão para rollups específicos baseados em tempoUse visualizações materializadas para transformar dados entre tabelas
Consultando dados
Linguagem de consultaSQLLinguagem nativa druida e um analisador para consultas semelhantes a SQLSQL
Suporte para JOINsSuporta JOINsSomente JOINs de transmissão, com sobrecarga de alto desempenho, os dados são desnormalizados para evitar JOINsSuporta JOINs
Dimensionamento
Escalando computaçãoDimensione a computação de forma independente na nuvemConfigure e ajuste clusters de vários nós, adicione nós para obter mais computaçãoConfigure e ajuste clusters de vários nós, adicione nós para obter mais computação
Dimensionando o armazenamentoDimensione o armazenamento de forma independente na nuvemConfigure e ajuste clusters de vários nós, adicione nós para obter mais armazenamentoConfigure e ajuste clusters de vários nós, adicione nós para obter mais armazenamento
Custo complete de propriedadeServiço gerenciado otimizado para eficiência na nuvem e produtividade do desenvolvedorRequer especialista em Apache Druid para engenharia de desempenho e controle de custosRequer especialista da ClickHouse para engenharia de desempenho e controle de custos

O preço-desempenho bruto é definitivamente importante, por isso continuaremos a publicar resultados de desempenho – mas nos dias de hoje, a eficiência da nuvem e a produtividade do desenvolvedor são igualmente importantes. Eficiência na nuvem significa nunca ter que provisionar computação ou armazenamento em excesso, em vez disso escalá-los de forma independente com base no consumo actual. Os dados do mundo actual são confusos e complexos, e o Rockset economiza tempo e esforço consideráveis ​​dos usuários, eliminando a necessidade de nivelar os dados antes da ingestão. Além disso, garantimos que os usuários não precisem desnormalizar os dados com um padrão JOIN em mente, porque mesmo que esses padrões fossem conhecidos antecipadamente, as desnormalizações são caras em termos de esforço do usuário e velocidade de iteração. Ao indexar cada campo, eliminamos a necessidade de modelagem de dados complexa. E com o SQL padrão pretendemos democratizar verdadeiramente o acesso a insights em tempo actual. A outra área em que o Rockset brilha é que ele foi construído para lidar com fluxos de dados de séries temporais, bem como fluxos de CDC com atualizações, inserções e exclusões, tornando possível permanecer sincronizado em tempo actual com bancos de dados como DynamoDB, MongoDB, PostgreSQL. , MySQL sem qualquer sobrecarga de reindexação.

Nas palavras de nosso cliente: “Rockset é pura magia. Escolhemos Rockset em vez de Druid, porque não requer nenhum planejamento em termos de índices ou escala. Em uma hora, estávamos funcionando, atendendo consultas OLAP complexas para nossos placares e painéis ao vivo com um número muito alto de consultas por segundo. À medida que aumentamos o tráfego, podemos simplesmente ‘girar um botão’ e o Rockset escala conosco.

Estamos focados em acelerando o tempo de lançamento de nossos clientes no mercado: “Rockset reduziu nosso roteiro de 6 meses em uma tarde”, disse um cliente. Não é de admirar que a Suggest tenha embarcado no projeto Shapeshift em uma tentativa de se aproximar da eficiência da nuvem da Rockset – no entanto, transferir e transferir a tecnologia da period do datacenter para a nuvem não é uma tarefa fácil e desejamos-lhes boa sorte. Para alguém que afirma se preocupar mais com casos de uso do mundo actual do que com desempenho, o Apache Druid surpreendentemente carece de funcionalidades que realmente importam no mundo actual de dados em tempo actual: facilidade de implantação, facilidade de uso, mutabilidade, facilidade de escalonamento. A Rockset continuará a inovar para tornar a análise em tempo actual na nuvem mais eficiente para os usuários, com foco em casos reais de uso do cliente. Preço-desempenho é importante. A Rockset continuará a publicar regularmente resultados de benchmarking e tenha certeza de que faremos o máximo para não nos representar mal ou aos nossos concorrentes neste processo – e o mais importante, não enganaremos nossos clientes. Enquanto isso convidamos você a testar o Rockset você mesmo e experimente análises em tempo actual em escala de nuvem.

Referências aprofundadas:

  1. Examine Rockset e ClickHouse com aprofundamento técnico aqui
  2. Examine Rockset e Apache Druid com aprofundamento técnico aqui



Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *