Apache Phoenix

Open Source HBase SQL OLTP Data Warehousing

Camada SQL sobre Apache HBase para OLTP e analytics em tempo real

O que é Apache Phoenix?

Apache Phoenix é uma camada SQL sobre Apache HBase que permite consultas SQL de baixa latência em dados NoSQL. Combina a performance e escalabilidade do HBase com a familiaridade do SQL, oferecendo capacidades OLTP e analytics em tempo real.

Arquitetura sobre HBase

Phoenix integra-se nativamente com HBase:

  • Query Server: Servidor de consultas SQL
  • Coprocessors: Processamento server-side no HBase
  • Secondary Indexes: Índices para performance
  • Statistics: Estatísticas para otimização

Vantagens

  • SQL familiar sobre NoSQL
  • Performance de milissegundos
  • Suporte a transações ACID
  • Escalabilidade horizontal
  • Integração com ferramentas BI
  • Índices secundários

Casos de Uso Ideais

  • Aplicações OLTP de alta performance
  • Analytics em tempo real
  • Consultas point-lookup rápidas
  • Time-series data

Principais Recursos

⚡ Low Latency

Consultas em milissegundos

🔍 Secondary Indexes

Índices para otimização de consultas

🔒 ACID Transactions

Transações ACID sobre HBase

📊 SQL Standard

SQL ANSI sobre dados NoSQL

Casos de Uso

✅ Recomendado para:
  • Aplicações OLTP de alta performance
  • Analytics em tempo real
  • Time-series data
  • Consultas point-lookup
  • Integração SQL com HBase
  • Aplicações híbridas OLTP/OLAP

Exemplos Práticos

Criação de Tabela

CREATE TABLE events (
    event_id BIGINT NOT NULL,
    user_id BIGINT NOT NULL,
    event_time TIMESTAMP NOT NULL,
    event_type VARCHAR(50),
    properties VARCHAR(1000)
    CONSTRAINT pk PRIMARY KEY (event_id, event_time)
) SALT_BUCKETS=10;

Consulta com Índice Secundário

-- Criar índice secundário
CREATE INDEX idx_user_time ON events (user_id, event_time);

-- Consulta otimizada
SELECT event_type, COUNT(*) 
FROM events 
WHERE user_id = 12345 
  AND event_time >= CURRENT_DATE() - 7
GROUP BY event_type;

Comparações

Aspecto Apache Phoenix Apache Impala ClickHouse
OLTP Support ✅ Nativo ❌ OLAP only ❌ OLAP only
Latência Milissegundos Segundos Milissegundos
Escalabilidade ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐
📊 Quick Facts
Versão Atual: 5.1.3
Licença: Apache 2.0
Linguagem: Java
Base: Apache HBase
🔄 Tecnologias Relacionadas