ClickhouseExplainer
Ten years of ClickHouse in open source
Summary
ClickHouse’s tenth-anniversary history describes its path from an internal web-analytics experiment to an open-source analytical database with more than 2,000 contributors. The original problem was processing rapidly growing, real-time logs while answering flexible reports quickly; tested MySQL extensions and standalone analytical databases did not meet the stated scale of 100 billion records per day and 500 columns. The project built column-oriented storage, lightweight compression, custom aggregation structures, background merges, and query support for grouping, aggregation, filtering, and sorting. Released publicly on June 15, 2016, ClickHouse is presented as a level-three open-source project with public contribution guidelines, code review, testing, CI, documentation, and a roadmap, while contributors receive credit even when implementations are substantially rewritten.
Context
The work began in a web-analytics system where data volumes were growing, new logs arrived in real time, and processing delays accumulated unless five-minute chunks could be handled within five minutes. Existing MySQL-based storage, custom data structures, and tested analytical databases did not reasonably support the required scale and flexible reporting.
Approach / What changed
The project developed column-oriented storage for structured logs, lightweight compression, queryable grouping and aggregation, custom C++ data structures for incremental aggregation, background merges, and support for real-time analytical queries. Its open-source model aims for transparent development with contribution guidelines, tracking, code review, testing, CI, releases, support, and documentation.
Takeaways
The initial OLAPServer prototype stored each integer column in daily, website-specific binary files and exposed grouping, aggregation, filtering, and sorting through an API.
ClickHouse used custom C++ aggregation structures with add, update, merge, serialization, and deserialization methods, allowing partially aggregated data to be merged on reads.
The project defines level-three open source as including open contribution guidelines, a task tracker, code review, a roadmap, testing and CI, a release cycle, user support, and documentation.
Source and freshness
- Source
- clickhouse.com
- Published
- Added to Yomu
- Last updated
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.