O ClickHouse transforma bilhões de linhas de log em análises em menos de um segundo. O KumoMTA documenta o schema no projeto, e a maioria dos ESPs o usa desde o primeiro dia.
Exemplo de tabela:
CREATE TABLE kumomta_events (
ts DateTime,
type LowCardinality(String),
tenant LowCardinality(String),
campaign LowCardinality(String),
domain LowCardinality(String),
egress_source LowCardinality(String),
response_code UInt16,
enhanced_code LowCardinality(String),
bounce_category LowCardinality(String),
recipient String,
message_id String
) ENGINE = MergeTree
ORDER BY (ts, tenant, domain);
Consultas do dia a dia:
-- Delivery rate per destination, last hour
SELECT domain,
countIf(type='Delivered') / countIf(type IN ('Delivered','Bounced')) AS delivery_rate
FROM kumomta_events
WHERE ts > now() - INTERVAL 1 HOUR
GROUP BY domain ORDER BY delivery_rate DESC;
-- Top bounce categories per tenant
SELECT tenant, bounce_category, count() AS n
FROM kumomta_events WHERE type='Bounced' AND ts > today()
GROUP BY tenant, bounce_category ORDER BY n DESC LIMIT 50;
É aqui que a entregabilidade deixa de ser adivinhação. Você responde "nossa entrega no Yahoo está piorando?" em segundos.
Entre para acompanhar o que você já leu.