Skip to content
Opensource internals
  • Posts

Compression

ClickHouse's LowCardinality Column Shares One Dictionary Across Millions of Rows

Oct 21, 2026 26 min read Jay Hubbert

LowCardinality(T) stores a dictionary of distinct values once and keeps a 1–8 byte index per row.

ClickhousePerformanceInternalsMemoryCompression

Read more →

How ClickHouse's Sparse Column Stores Only the Rows That Differ

Oct 21, 2026 20 min read Jay Hubbert

Real columns are mostly default. A status column is 'active' for 98% of rows and '' for the rest. A retries column is 0 almost always. An amount column that is Nullable is NULL for …

ClickhousePerformanceInternalsMemoryCompression

Read more →

© 2026 Jay Hubbert · Built with Hugo 0.168.0

RSS ·