clickhouse/clickhouse
Systems
This section maps the directories under src/ to the engineering subsystems they implement. Each subsystem has its own page; this index is a roadmap.
If you are new to the codebase, read Architecture first, then drill into the systems below.
Storage
- Storage engine — the dispatcher (
IStorage,StorageFactory) and the catalog of engines.- MergeTree — the columnar engine that powers analytics.
- Replicated MergeTree — replication via Keeper / ZooKeeper.
- Other engines —
Distributed,Memory,Buffer,Kafka,S3,MaterializedView,Iceberg, etc.
Query path
- Query pipeline — the journey from SQL string to columnar response.
- Parsers —
src/Parsers/(SQL → AST). - Analyzer —
src/Analyzer/(AST → QueryTree). - Planner —
src/Planner/(QueryTree → QueryPlan). - Interpreters —
src/Interpreters/(DDL, joins, aggregation, context). - Processors —
src/Processors/andsrc/QueryPipeline/(the executor).
- Parsers —
Computation
- Functions —
src/Functions/(the scalar function library). - Aggregate functions —
src/AggregateFunctions/. - Data types and columns —
src/DataTypes/,src/Columns/,src/Core/.
I/O and storage substrate
- IO and disks —
src/IO/andsrc/Disks/. - Compression —
src/Compression/. - Formats —
src/Formats/andsrc/Processors/Formats/.
Coordination, replication, distribution
- Coordination —
src/Coordination/(the Keeper engine). - Backups —
src/Backups/.
Server-side
- Server protocols —
src/Server/(HTTP, native TCP, MySQL, Postgres, gRPC, ArrowFlight). - Client library —
src/Client/(shared withclickhouse-client/-local).
Cross-cutting
- Access control —
src/Access/. - Dictionaries —
src/Dictionaries/. - Common utilities —
src/Common/(allocators, hash tables, logging, ZooKeeper client, …).
Other top-level directories
src/Daemon/— base daemon (signal handlers, config reload, log rotation).src/Loggers/— log channel configuration.src/BridgeHelper/— clients forclickhouse-odbc-bridgeandclickhouse-library-bridge.src/TableFunctions/—file(),s3(),url(),cluster(),iceberg(),delta(), etc.src/Databases/— the database catalog (Atomic,Ordinary,Replicated,Lazy,MaterializedMySQL,MaterializedPostgreSQL).base/— the project's compatibility/base layer (glibc-compat, Poco fork, pcg-random).
See also
- Apps — the binaries that wrap these systems.
- Features — cross-cutting capabilities expressed in user terms.
- Reference → data models — the data-type catalog.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.