Open-Source Wikis

/

ClickHouse

/

Systems

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.

Query path

  • Query pipeline — the journey from SQL string to columnar response.
    • Parserssrc/Parsers/ (SQL → AST).
    • Analyzersrc/Analyzer/ (AST → QueryTree).
    • Plannersrc/Planner/ (QueryTree → QueryPlan).
    • Interpreterssrc/Interpreters/ (DDL, joins, aggregation, context).
    • Processorssrc/Processors/ and src/QueryPipeline/ (the executor).

Computation

I/O and storage substrate

Coordination, replication, distribution

Server-side

  • Server protocolssrc/Server/ (HTTP, native TCP, MySQL, Postgres, gRPC, ArrowFlight).
  • Client librarysrc/Client/ (shared with clickhouse-client/-local).

Cross-cutting

Other top-level directories

  • src/Daemon/ — base daemon (signal handlers, config reload, log rotation).
  • src/Loggers/ — log channel configuration.
  • src/BridgeHelper/ — clients for clickhouse-odbc-bridge and clickhouse-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

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

Systems – ClickHouse wiki | Factory