Prometheus and ClickHouse handle high-cardinality metrics through fundamentally different architectures. Prometheus pays cardinality costs at write time through memory overhead, index maintenance, and series creation (~3-4KB per active series), leading to OOM failures during ingestion. ClickHouse defers costs to query time,
Table of contents
Why This MattersThe War StoryA Note on FairnessThe Core Question: Where Does Identity Live?Prometheus: Write-Time IdentityPrometheus Internals: Why Cardinality Hurts Early"Just Add More Prometheus" Doesn't WorkNative Histograms: A Schema-Level SolutionClickHouse Internals: Why Cardinality Feels DifferentThe ComparisonWhy Hybrid Pipelines ExistWhat About TimescaleDB, QuestDB, InfluxDB, Druid?The Design-Time DecisionClosing ThoughtSort: