Open-Source Wikis

/

ClickHouse

/

By the numbers

clickhouse/clickhouse

By the numbers

Data collected on 2026-04-30 from master at commit 5d7f0cd8503ecea08acf921c994b5508fa6c7d0c. The numbers below are derived directly from the working tree and git log of this checkout.

Repository age and activity

Metric Value
First commit 2008-12-01
Total commits on master 228,261
Top-level directories 14
External submodules under contrib/ 256
Subcommand binaries dispatched from programs/main.cpp ~30
Subdirectories under programs/ 26
Subdirectories under utils/ 29

ClickHouse has been in continuous development since late 2008 inside Yandex; the open-source release happened in 2016. The directory was renamed from dbms/ to src/ on 2020-04-03.

Source size

Counts below are over the working tree as checked out, not over master's entire history.

Counter Value
.cpp+.h files in src/ 7,671
.cpp lines of code in src/ 335,512
Stateless SQL test files (tests/queries/0_stateless/) 10,410
Integration test directories (tests/integration/) 750
External libraries vendored under contrib/ 256

Composition

xychart-beta horizontal
    title "Files in src/ by extension"
    x-axis ["*.cpp", "*.h"]
    y-axis "Files" 0 --> 5000
    bar [4500, 3171]

The exact split varies as headers are introduced or merged with .cpp files; the numbers above are an approximate breakdown of the 7,671 total. Beyond C++, the repo also ships:

  • A small Rust workspace under rust/ used for the chcache build cache, prql/tantivy adapters, and a few other components.
  • ~10,000 SQL/shell tests under tests/queries/.
  • 750+ Python integration tests under tests/integration/.
  • Hundreds of HTML/JS dashboard files under programs/server/ (dashboard.html, play.html, binary.html, merges.html, jemalloc.html).

Largest source files

The list below highlights some of the longest single files in src/. They tend to be central engine modules or large generated function tables.

File Approx size
src/Storages/StorageReplicatedMergeTree.cpp ~520 KB
src/Interpreters/Context.cpp ~310 KB
src/Storages/MergeTree/KeyCondition.cpp ~220 KB
src/Interpreters/ActionsDAG.cpp ~150 KB
src/Storages/MergeTree/IMergeTreeDataPart.cpp ~110 KB
src/Functions/FunctionBinaryArithmetic.h ~160 KB
src/Functions/FunctionsJSON.cpp ~90 KB
src/Functions/FunctionsHashing.h ~70 KB
src/Storages/StorageMergeTree.cpp ~130 KB

These are gentle calls for inspection: a file approaching 100k lines is rarely doing one job.

Activity recency

In calendar 2025–2026 the most active committers (by commit count, excluding bots) include Alexey Milovidov (founder, ~9.9k commits this period), Pedro Ferreira, Azat Khuzhin, Shaun Struwig, Raúl Marín, Max Kainov, Robert Schulze, Konstantin Vedernikov, Nikita Taranov, Konstantin Bogdanov, kssenii, Mikhail Artemenko, Igor Nikonov, Yarik Briukhovetskyi, Antonio Andelic, Anton Popov, Pablo Marcos, Nikolai Kochetov, and Sema Checherinda.

ClickHouse averages thousands of merged PRs per year — it is one of the most active open-source databases on GitHub.

Bot-attributed commits

ClickHouse uses GitHub Actions extensively but the bulk of the engineering is performed by humans. Co-authored-by bot entries appear primarily for:

  • clickhouse-bors / robot-clickhouse (release automation, version bumps, autosquashes).
  • dependabot[bot] (occasional dependency upgrades on the docs and tooling side).

This is a lower bound on AI-assisted work. Inline AI tooling (Copilot, Claude) leaves no trace in git, and the project ships explicit AI policies in AI_POLICY.md and a .claude/ folder of helper tools (see Tooling).

Test-to-code ratio

Layer Tests Notes
Stateless SQL 10,410 files Each is a .sql or .sh plus .reference
Integration 750 directories Each contains test.py + docker-compose
Unit (gtest_*.cpp) ~600 files Scattered under src/**/tests/
Performance ~600 XML files Under tests/performance/
Fuzzers ~80 entry points src/**/fuzzers/ and programs/server/fuzzers/

The stateless suite alone has more files than src/ has source files — testing density is one of the project's defining traits.

Dependencies

ClickHouse vendors all dependencies, including their build glue, under contrib/. The submodule list runs to hundreds of entries (Boost, Poco, Arrow, Parquet, RocksDB, NuRaft, LZ4, ZSTD, re2, OpenSSL, gRPC, protobuf, cppkafka, librdkafka, Avro, delta-kernel-rs, iceberg-cpp, Hive-related libs, hyperscan, vectorscan, tantivy-search, usearch, simsimd, …). See Dependencies.

Scope

ClickHouse is one of the largest open-source database projects by code volume and commit count. Its scale shows everywhere: 1500+ runtime settings, hundreds of built-in functions, dozens of table engines, multiple wire protocols, several test layers, and a dedicated in-house CI ("Praktika") in ci/.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

By the numbers – ClickHouse wiki | Factory