ClickHouse is a column-oriented DBMS (columnar database management system) for online analytical processing (OLAP). It allows creating tables and databases in runtime, loading data, and running queries without reconfiguring and restarting the server.
The software enables users to generate analytical reports using SQL queries in real-time.
This is free and open source software.
Key Features
- True column-oriented DBMS. In a real column-oriented DBMS, no extra data is stored with the values. This means that constant-length values must be supported to avoid storing their length “number” next to the values.
- Linear scalability. It’s possible to extend a cluster by adding servers.
- Fault tolerance. The system is a cluster of shards, where each shard is a group of replicas. ClickHouse uses asynchronous multi-master replication. Data is written to any available replica, then distributed to all the remaining replicas. ZooKeeper is used for coordinating processes, but it’s not involved in query processing and execution.
- Capability to store and process petabytes of data.
- SQL support. The software supports an extended SQL-like language that includes arrays and nested data structures, approximate and URI functions, and the availability to connect an external key-value store. It’s mostly compatible with the ANSI SQL standard. Supported queries include GROUP BY, ORDER BY, subqueries in FROM, JOIN clause, IN operator, window functions and scalar subqueries.
- High performance.
- Vector calculations are used. Data is not only stored by columns, but is processed by vectors (parts of columns). This approach allows it to achieve high CPU performance.
- Sampling and approximate calculations are supported.
- Parallel and distributed query processing is available (including JOINs). Large queries are parallelized naturally, taking all the necessary resources available on the current server.
- Data compression. ClickHouse provides specialized codecs for specific kinds of data, which allow ClickHouse to compete with and outperform more niche databases, like time-series ones.
- Hard disk drive (HDD) optimization. The system can process data that doesn’t fit in random-access memory (RAM).
- Clients for database (DB) connectivity. Database connection options include the console client, the HTTP API, or one of the wrappers.
Website: github.com/ClickHouse/ClickHouse
Support:
Developer: ClickHouse, Inc
License: Apache License 2.0
ClickHouse is written in C++ and Python. Learn C++ with our recommended free books and free tutorials. Learn Python with our recommended free books and free tutorials.
Related Software
| Column-Oriented Databases | |
|---|---|
| MariaDB ColumnStore | Uses a massively parallel distributed data architecture |
| DuckDB | In-process SQL OLAP database management system |
| Druid | High performance, real-time analytics database |
| Databend | Cloud data warehouse |
| ClickHouse | Real-time analytics database management system |
| InfluxDB Core | Scalable datastore for metrics, events, and real-time analytics |
| Doris | Modern data warehouse for real-time analytics |
| VictoriaMetrics | Scalable solution for monitoring and managing time series data |
| StarRocks | High-performance analytical database |
| MonetDB | High performance relational database system for analytics |
| Kudu | Distributed data storage engine |
| QuestDB | High-performance time-series database |
| Pinot | Real-time analytics platform |
| IoTDB | High-performance time-series database |
| GreptimeDB | Cloud-native database |
| CrateDB | Distributed SQL database management |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

