ClickHouse
lastmod 2025-06-09created 2021-05-3111 edits
Open-source column-based OLAP DB
Features
- RDBMS for Analytics
- Fast, near-real-time speed, scalable, reliable
- 5x–24x faster than existing column DBs (Vertica, Greenplum)
- 100x–1000x faster than Hive or MySQL
One of 7 databases for 2025
- See Database#7 databases for 2025 (GeekNews)
- ClickHouse is a database specialized for OLAP workloads
- The combination of PostgreSQL for OLTP and ClickHouse for OLAP is ideal
- Handles large-scale analytics workloads and supports high data insertion rates through horizontal scaling and sharding
- Tiered storage support:
- Can store "hot data" and "cold data" separately
- e.g.: GitLab's documentation covers a use case of this in detail
- Large dataset processing and real-time analytics:
- Suitable for datasets too large for DuckDB to handle
- Delivers strong performance where real-time analytics is needed
- Operations documentation on deployment, scaling, backup, etc. is well organized and detailed
- e.g.: Provides documentation that even covers how to configure the CPU properly
- Experiment with large analytics datasets, or convert analyses done with DuckDB to ClickHouse
- chDB, the embedded version of ClickHouse, allows a more direct comparison with SQLite
See also
- Database
- Online analytical processing (OLAP)
- Zeppelin
- Telescope - Open-source web-based log viewer UI for Clickhouse
- Moose - Open-source framework for building analytics backends with ClickHouse
- Logchef - Ultra-lightweight, high-performance log analytics platform based on Clickhouse
- ClickStack – Open-source alternative to Datadog built with ClickHouse and HyperDX
Favorite site
- ClickHouse web site
- Building a ClickHouse-based analytics pipeline
- ClickHouse gets lazier and faster - introducing lazy loading optimization | GeekNews
- [Original] ClickHouse gets lazier (and faster): Introducing lazy materialization
- Completes ClickHouse's I/O optimization stack: Index → PREWHERE → Lazy Materialization
- Performance improved by hundreds to thousands of times through query execution alone, with no code changes
- Especially ideal for Top N patterns, large columns, and LIMIT queries
- Enabled by default, so it applies automatically without any user configuration