Acesse o painel da sua conta

Não tem uma conta? Registrar

Entrar em contato

Visite também nosso site craftxp.com.br

  • img
  • img
  • img
  • img
  • img
  • img

Entre em contato

Apache Druid: Banco Analítico em Tempo Real para Consultas Subsegundo em Escala de Petabytes

Apache Druid: Banco Analítico em Tempo Real para Consultas Subsegundo em Escala de Petabytes

O que é Apache Druid?

Apache Druid é um banco de dados analítico em tempo real projetado especificamente para consultas OLAP (Online Analytical Processing) subsegundo sobre grandes volumes de dados. Diferente de bancos relacionais tradicionais ou soluções NoSQL, o Druid combina ingestão de dados em tempo real, armazenamento columnar, indexação pré-agregada e distribuição automática para entregar performance analítica excepcional.

Criado originalmente na MetaMarkets (2011) e doado para a Apache Foundation, o Druid é usado em produção por empresas como Netflix, Airbnb, Walmart, Lyft, Cisco e Confluent para alimentar dashboards analíticos que processam bilhões de eventos por dia.

Arquitetura do Druid

O Druid possui uma arquitetura de microsserviços com componentes especializados:

  • Overlord: Gerencia a ingestão de dados e coordena workers de indexação.
  • MiddleManager: Executa tarefas de ingestão de dados em processos Peon isolados.
  • Broker: Recebe consultas dos clientes e as distribui para os servidores históricos e reais.
  • Historical: Armazena e consulta dados imutáveis já segmentados.
  • Coordinator: Gerencia distribuição de segmentos entre servidores históricos.
  • Router: Roteia requisições para Brokers, Coordinators e Overlords.

Segmentação e Indexação

O segredo da performance do Druid está na segmentação: dados são particionados em segmentos (tipicamente alguns milhões de linhas), que são arquivos columnar imutáveis. Cada segmento contém:

  • Dados em formato columnar (similar a Parquet) para scans rápidos.
  • Bitmaps invertidos (Roaring Bitmaps) para filtros ultra-rápidos.
  • Pré-agregações para consultas comuns.
  • Índices de min/max para poda de segmentos irrelevantes.

Ingestão de Dados em Tempo Real

// Exemplo de especificação de ingestion (JSON)
{
  "type": "kafka",
  "dataSchema": {
    "dataSource": "eventos_web",
    "timestampSpec": {
      "column": "timestamp",
      "format": "iso"
    },
    "dimensionsSpec": {
      "dimensions": ["pagina", "usuario", "navegador", "pais"]
    },
    "metricsSpec": [
      {"type": "count", "name": "visitas"},
      {"type": "longSum", "name": "tempo_total", "fieldName": "tempo_gasto"},
      {"type": "doubleSum", "name": "receita", "fieldName": "valor_compra"}
    ]
  },
  "ioConfig": {
    "topic": "eventos-web",
    "consumerProperties": {
      "bootstrap.servers": "localhost:9092"
    },
    "taskDuration": "PT1H"
  }
}

Consultas SQL no Druid

-- Consulta SQL nativa no Druid
SELECT
  pagina,
  COUNT(*) AS visitas,
  SUM(tempo_total) AS tempo_acumulado,
  AVG(tempo_total) AS tempo_medio,
  SUM(receita) AS receita_total
FROM eventos_web
WHERE "__time" >= TIMESTAMP '2026-06-01'
  AND "__time" < TIMESTAMP '2026-06-15'
  AND pais = 'Brasil'
GROUP BY pagina
ORDER BY visitas DESC
LIMIT 20;

-- Time series: contagem por hora
SELECT
  FLOOR("__time" TO HOUR) AS hora,
  COUNT(*) AS eventos
FROM eventos_web
WHERE "__time" >= CURRENT_TIMESTAMP - INTERVAL '24' HOUR
GROUP BY 1
ORDER BY 1;

Casos de Uso Reais

  • Netflix: Dashboard de monitoramento de infraestrutura processando bilhões de eventos de logs por dia com consultas subsegundo.
  • Airbnb: Plataforma de analytics para dados de reservas e preços com latência de ingestão inferior a 10 segundos.
  • Walmart: Análise em tempo real de vendas em mais de 10 mil lojas globais.
  • Confluent: Métricas de clusters Kafka em produção para clientes enterprise.
  • Lyft: Monitoramento de corridas e alocação de motoristas em tempo real.

Druid vs ClickHouse

CaracterísticaDruidClickHouse
Ingestão em tempo realNativa (streaming + batch)Nativa
Pré-agregaçãoSim (rollup automático)Materialized Views
EscalabilidadeExcelente (shared-nothing)Excelente (sharding)
SQL completoLimitado (OLAP)Quase completo
Joins complexosLimitadosSim
Governança multi-tenantSim (Datasources isolados)Manual

Conclusão

Apache Druid é a escolha ideal quando você precisa de consultas analíticas subsegundo sobre grandes volumes de dados com ingestão em tempo real — especialmente para dashboards de monitoramento, analytics de produto e OLAP interativo. Embora não substitua bancos transacionais ou data warehouses completos, o Druid preenche um nicho específico com performance inigualável.

Se seu time precisa de um dashboard que responda em menos de um segundo sobre bilhões de eventos e com dados frescos de segundos atrás, o Druid merece um lugar de destaque no seu stack de dados.

Craft XP
Craft XP