DBRaven
Relationship · Supports
Source: Technology·Target: Workload

Summary

ClickHouse's columnar storage engine, vectorized query execution, and MergeTree family of table engines are specifically designed for analytics-heavy workloads: high-throughput aggregations over billions of rows with sub-second query latency.

Evidence

  • ·ClickHouse processes 100 million rows/second per core for aggregation queries in documented benchmarks
  • ·Columnar storage reads only the columns referenced in a query: typical analytics queries reference 5-10% of columns
  • ·MergeTree partitioning enables partition pruning: WHERE date = '2024-01-01' reads only that partition's files
  • ·AggregatingMergeTree materializes partial aggregates at insert time: SUM, COUNT, AVG computed incrementally
  • ·Cloudflare processes 10 trillion+ events in ClickHouse for their analytics product

Operational Context

  • ·ClickHouse is optimized for inserts, not updates: use ReplacingMergeTree or CollapsingMergeTree for mutable data
  • ·Partition key design determines pruning effectiveness: partition by time period for time-series analytics
  • ·Replication uses ClickHouse Keeper (ZooKeeper-compatible) or external ZooKeeper

Tradeoffs

  • ·ClickHouse has limited transaction support: ACID transactions are not a design goal
  • ·Point lookups (SELECT * FROM t WHERE id = X) are slower than PostgreSQL: not an OLTP system
  • ·INSERT performance is maximized with large batches (1000+ rows): small frequent inserts cause MergeTree pressure

Evidence grounding

Grounded, 5 supporting items

ClickHouse's design goals are explicitly analytics/OLAP. Cloudflare, Yandex, and Contentsquare have published benchmarks showing 10-100x improvement over PostgreSQL for analytics workloads.