Construye un pipeline append-only: agents → Kafka → almacenamiento por niveles (caliente en ClickHouse/ELK, frío en object storage) con una política de retención que indexe los datos recientes y archive el resto de forma barata. 100M de eventos/día son ~1.200/seg de media (picos mucho más altos) y decenas-a-cientos de GB diarios — optimizas para escrituras baratas y coste de query acotado, no para semántica OLTP.
App/agents ─▶ Kafka ─▶ Consumers ─┬─▶ ClickHouse / ELK (hot: last 7–30d, indexed, fast search)
(Fluent Bit) (buffer, │
replay) └─▶ S3/Parquet (cold: 90d–years, cheap, scan-on-demand)
│
Lifecycle/tiering ─▶ Glacier (archive) ─▶ delete at retention
