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 thechcachebuild cache,prql/tantivyadapters, 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.