Skip to content

ClickBench (OLAP)

Machine: c8g.metal-48xl (192 vCPU Graviton3, 384 GB RAM)

SystemHot GeomeanLoad TimeData SizeCombined Score
ParticleDB17.0ms17.6s35.6 GB2.92
ClickHouse (web)52.0ms0s~14 GB3.93
ClickHouse (direct)~65ms~12s~13 GB5.72

ParticleDB is #1 Combined on the local ClickBench snapshot, beating ClickHouse by 25% on the official Combined formula (60% hot + 20% cold + 10% load + 10% size).

ClickBench is a standardized benchmark of 43 analytical SQL queries against the hits table from Yandex.Metrica web analytics data (100 million rows, 105 columns).

Queries range from simple COUNT(*) to complex multi-column GROUP BY with COUNT(DISTINCT), REGEXP_REPLACE, and HAVING clauses.

  • COUNT(*) — 0.016ms (O(1) from precomputed metadata)
  • SUM/AVG/MIN/MAX — 0.02ms (resolved from zone map running statistics)
  • COUNT(DISTINCT SearchPhrase) — 0.018ms (O(1) from DictU32 dictionary size)
  • Filtered aggregations with zone map pruning
  • Low-cardinality GROUP BY with SIMD mask accumulation
  • String GROUP BY with DictU32 encoding (4-byte keys instead of variable-length strings)
  • Multi-column GROUP BY with millions of groups (radix-partitioned hash tables)
  • COUNT(DISTINCT) with per-group hash set tracking
  • REGEXP_REPLACE with domain extraction
OptimizationImpactQueries
Zone map running statisticsO(1) for ungrouped aggregatesQ0, Q2, Q3, Q6
DictU32 dictionary encoding4x smaller GROUP BY keysQ12, Q14, Q32, Q41
Inline filter + DictU32 injection4.3x on filtered string GROUP BYQ14 (569→132ms)
O(1) COUNT(DISTINCT) via dict.len()15,944x on string DISTINCTQ5 (287→0ms)
2048-partition radix hash tablesL2 cache fit for multi-colQ18 (-63ms)
mimalloc allocator15% across all queriesAll
Thread-local DictU32 build48% faster loadLoad phase