ClickHouse’s technology was first developed over 10 years ago at Yandex, Russia's largest technology company.2 In 2009, Alexey Milovidov and developers started an experimental project to check the hypothesis if it was viable to generate analytical reports in real-time from non-aggregated data that is also constantly added in real-time. The developers spent 3 years to prove this hypothesis, and in 2012 ClickHouse launched in production for the first time to power Yandex.Metrica.
Unlike custom data structures used before, ClickHouse was applicable more generally to work as a database management system. The power and utility of ClickHouse offered a true column-oriented DBMS, it allowed for systems to generate reports from petabytes of raw data with sub-second latencies. ClickHouse was widely adopted at Yandex including for Yandex.Tank load testing tool and Yandex.Market to monitor site accessibility and KPIs.
In 2016, the ClickHouse project was released as open-source software under the Apache 2 license in June 2016 to power analytical use cases around the globe. The systems at the time offered a server throughput of a hundred thousand rows per second, ClickHouse outperformed them with a throughput of hundreds of millions of rows per second.
Since ClickHouse became available as open source in 2016, its popularity has grown exponentially, as evidenced through adoption by industry-leading companies like Uber, Comcast, eBay, and Cisco. 3 ClickHouse was also implemented at CERN's LHCb experiment to store and process metadata on 10 billion events with over 1000 attributes per event.
The main features of the ClickHouse DBMS are:4
ClickHouse has some features that can be considered disadvantages:
ClickHouse was designed for OLAP queries.13 ClickHouse performs well when:
For simple queries, latencies of 50 ms are typical.
One of the common cases for ClickHouse is server log analysis. After setting regular data uploads to ClickHouse (it's recommended to insert data in fairly large batches with more than 1000 rows), it's possible to analyze incidents with instant queries or monitor a service's metrics, such as error rates, response times, and so on.
ClickHouse can also be used as an internal data warehouse for in-house analysts. ClickHouse can store data from different systems (such as Hadoop or certain logs) and analysts can build internal dashboards with the data or perform real-time analysis for business purposes.
According to benchmark tests conducted by its developers,14 for OLAP queries ClickHouse is more than 100 times faster than Hive (a DBMS based on the Hadoop technology stack) or MySQL (a common RDBMS).
"ClickHouse Raises $250M Series B to Scale Groundbreaking OLAP Database Management System Globally". 28 October 2021. https://www.businesswire.com/news/home/20211028005287/en/ClickHouse-Raises-250M-Series-B-To-Scale-Groundbreaking-OLAP-Database-Management-System-Globally ↩
"Yandex, Russia's biggest technology company, celebrates 20 years". The Economist. 30 September 2017. https://www.economist.com/business/2017/09/30/yandex-russias-biggest-technology-company-celebrates-20-years ↩
Lardinois, Frederic (2022-12-06). "ClickHouse launches ClickHouse Cloud, extends its Series B". TechCrunch. Retrieved 2023-07-24. https://techcrunch.com/2022/12/06/clickhouse-launches-clickhouse-cloud-extends-its-series-b/ ↩
"ClickHouse Guide". clickhouse.yandex. Retrieved 2016-11-10. https://clickhouse.yandex/reference_en.html#Distinctive%20features%20of%20ClickHouse ↩
"Performance comparison of analytical DBMS". clickhouse.yandex. Retrieved 2016-11-10. https://clickhouse.com/benchmark/dbms/ ↩
"smi2/phpClickHouse". GitHub. Retrieved 2016-11-10. https://github.com/smi2/phpClickHouse ↩
"apla/node-clickhouse". GitHub. Retrieved 2016-11-10. https://github.com/apla/node-clickhouse ↩
"elcamlost/perl-DBD-ClickHouse". GitHub. Retrieved 2016-11-10. https://github.com/elcamlost/perl-DBD-ClickHouse ↩
"archan937/clickhouse". GitHub. Retrieved 2016-11-10. https://github.com/archan937/clickhouse ↩
"hannesmuehleisen/clickhouse-r". GitHub. Retrieved 2016-11-10. https://github.com/hannesmuehleisen/clickhouse-r ↩
"ClickHouse/clickhouse-odbc". GitHub. 13 December 2021. https://github.com/ClickHouse/clickhouse-odbc ↩
"ClickHouse/clickhouse-jdbc". GitHub. 11 December 2021. https://github.com/ClickHouse/clickhouse-jdbc ↩