Camada SQL sobre Apache HBase para OLTP e analytics em tempo real
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.
Phoenix integra-se nativamente com HBase:
Consultas em milissegundos
Índices para otimização de consultas
Transações ACID sobre HBase
SQL ANSI sobre dados NoSQL
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;
-- 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;
Aspecto | Apache Phoenix | Apache Impala | ClickHouse |
---|---|---|---|
OLTP Support | ✅ Nativo | ❌ OLAP only | ❌ OLAP only |
Latência | Milissegundos | Segundos | Milissegundos |
Escalabilidade | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |