Skip to content
Opensource internals
  • Posts

Clickhouse

ClickHouse's Hash Table Marks Empty Cells With Zero Bytes: No Tombstone, and Floats Compare Bitwise

Oct 16, 2026 24 min read Jay Hubbert

ClickHouse’s hash table has no occupancy bit, no tombstone, and no sentinel pointer.

ClickhouseInternalsHash tablePerformanceMemory

Read more →

ClickHouse's uniq Estimates Distinct Counts by Thinning: The Wide Set That Lifts the 32-Bit Ceiling

Oct 16, 2026 22 min read Jay Hubbert

uniq() is a hash table that deliberately throws data away. When it fills up, it halves its sample rate, keeps the survivors, and multiplies the count back up by the…

ClickhouseInternalsAggregationProbabilisticHash table

Read more →

ClickHouse's Query Result Cache Never Invalidates: A Hash of the AST and a TTL

Oct 16, 2026 25 min read Jay Hubbert

ClickHouse caches query results by hashing the parsed query, not the text you typed, plus the settings and database that could change the answer.

ClickhousePerformanceInternalsCaching

Read more →

ClickHouse JIT-Compiles Scalar Expressions with LLVM: From ActionsDAG to an RX Page

Oct 16, 2026 17 min read Jay Hubbert

ClickHouse compiles hot scalar expressions to native code with LLVM.

ClickhousePerformanceInternalsJitLlvm

Read more →

← Newer Page 21 of 21 Older →

© 2026 Jay Hubbert · Built with Hugo 0.168.0

RSS ·