Fai streaming delle transazioni attraverso Kafka verso uno stream processor che pre-aggrega in uno store OLAP, così che le dashboard leggano piccoli rollup pre-calcolati invece di fare scan degli eventi grezzi. A milioni di transazioni/giorno non esegui mai SUM() sulla tabella grezza a ogni caricamento di pagina — aggreghi una sola volta, in scrittura.
Architettura
Payment svc ──▶ Kafka topic ──▶ Flink/Kafka Streams ──┬─▶ OLAP (ClickHouse/Druid) ◀── Dashboard
(txn events) (buffer,replay) (windowed pre-agg) │ (per-minute rollups) (read)
└─▶ S3/Parquet (raw, replay/audit)
state store ◀──────────┘ (exactly-once checkpoints)
