ClickHouse macht aus Milliarden Logzeilen Analysen in unter einer Sekunde. KumoMTA dokumentiert das Schema im Upstream, und die meisten ESPs arbeiten vom ersten Tag an damit.
Beispieltabelle:
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);
Die Abfragen für den Alltag:
-- 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;
Hier hört Zustellbarkeit auf, Rätselraten zu sein. Die Frage "Verschlechtert sich unsere Zustellung bei Yahoo?" beantworten Sie in Sekunden.
Melden Sie sich an, um festzuhalten, was Sie gelesen haben.