ClickHouse vs Postgres for analytics at scale: real examples
Published 2026-10-19 · Built only from first-party engineering write-ups in our database. Every number below comes from the linked source.
Cloudflare's 2018 post is the direct case: it rebuilt its HTTP analytics pipeline on ClickHouse, replacing a Postgres/Citus setup, at 6M requests per second. Staying on Postgres for analytics-style data is possible too: Timescale scaled a 350 TB+ dataset (10 billion new records a day) on PostgreSQL with its TimescaleDB extension, using hypertables, columnar compression and tiered storage.
ClickHouse vs PostgreSQL: side by side
| ClickHouse | PostgreSQL | |
|---|---|---|
| Stories in our database | 2 | 19 |
| Companies | Cloudflare | Atlassian, Datadog, Figma, GitLab, Neon, Notion, OpenAI, PlanetScale, Supabase, Tiger Data (Timescale) and Zalando |
| Published | 2018–2022 | 2021–2026 |
| Techniques alongside it | columnar storage (2), aggregation (1), pipeline redesign (1), schema design (1) | connection pooling (3), horizontal sharding (3), query optimization (3), read replicas (3) |
| Scale numbers stated in sources | 6M requests/sec (Cloudflare) | one primary and multiple replicas per shard (PlanetScale); 64-bit hashed keyspace split across shards (PlanetScale); restores in seconds even at 100 TB (Neon) |
| Direct comparison story | Cloudflare: HTTP Analytics for 6M requests per second using ClickHouse; Tiger Data (Timescale): How We Scaled PostgreSQL to 350 TB+ | (same story) |
Verdict
Columnar storage is the common thread: Cloudflare switched to a columnar database, and Timescale added columnar compression to Postgres. The rest of the Postgres stories here are transactional workloads, not analytics.
For more on Timescale's approach, and on cold tiers at Netflix and Dropbox, see tiered storage case studies.
Counts are stories in How They Scaled tagged with each side, see the ClickHouse and PostgreSQL pages. They describe what these teams wrote about, not market share or benchmark results.