트랜잭션을 Kafka를 통해 스트림 프로세서로 흘려보내 OLAP 저장소에 사전 집계(pre-aggregate)하여, 대시보드가 원시 이벤트를 스캔하는 대신 아주 작은 사전 계산된 rollup을 읽게 하십시오. 하루 수백만 건에서는 페이지 로드마다 원시 테이블에 SUM()을 절대 실행하지 않습니다 — write 시점에 한 번 집계합니다.
아키텍처
text
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)
