Skip to content
Opensource internals
  • Posts

Posts

All posts published on this site.

Everything published here, newest first.

SummingMergeTree and AggregatingMergeTree Collapse Groups in the Merge: No Hash Table, No Second Table

Oct 18, 2026 12 min read Jay Hubbert

SummingMergeTree and AggregatingMergeTree combine rows inside the merge algorithm, group by group, as the sorted streams are walked.

ClickhouseInternalsMergetreeAggregatingmergetreeSummingmergetree

Read more →

ClickHouse Incremental Backups Are Not Diffs: A Verified Byte Prefix and the Suffix After It

Oct 18, 2026 16 min read Jay Hubbert

Incremental backups reuse the base backup’s bytes: only the suffix after a verified shared prefix is uploaded, and the restore concatenates the two halves.

ClickhouseBackupsIncrementalInternals

Read more →

ClickHouse Backs Up a Cluster with One Manifest: Sorting Gives Every File a Global Index

Oct 18, 2026 22 min read Jay Hubbert

A cluster-wide backup is a ZooKeeper-coordinated election: one owner per data file, a stage barrier between phases, and a consensus loop over metadata.

ClickhouseBackupsZookeeperDistributedInternals

Read more →

ClickHouse Compiles a Date Format into a Program: Literal Text Becomes a memcpy Template

Oct 18, 2026 18 min read Jay Hubbert

formatDateTime compiles its format string into an instruction vector and a byte template.

ClickhouseInternalsPerformanceDates

Read more →

ClickHouse Runs Regular Expressions Four Ways: Literals Never Reach RE2

Oct 18, 2026 35 min read Jay Hubbert

ClickHouse analyses a regexp before running it, and often never runs RE2 at all.

ClickhouseInternalsRegexpPerformanceJit

Read more →

← Newer Page 68 of 89 Older →

© 2026 Jay Hubbert · Built with Hugo 0.168.0

RSS ·