# ClickHouse: A Column-Oriented Database for Real-Time Analytics

> ClickHouse is an open-source, column-oriented database management system designed for analytical queries over large datasets in real time. It is used when queries need to aggregate billions of rows in seconds and row-oriented databases like PostgreSQL become the bottleneck.

**ClickHouse/ClickHouse** — ClickHouse® is a real-time analytics database management system

- Repository: https://github.com/ClickHouse/ClickHouse
- Website: https://clickhouse.com
- Stars: 50,150 · Forks: 9,029
- Language: C++
- License: Apache-2.0
- Published: 2026-08-04 · Updated: 2026-08-18 · Language: en
- Canonical page: https://hysenlabs.com/projects/clickhouse-clickhouse

## What ClickHouse Is and the Problem It Solves

Most relational databases store rows together on disk: a query that reads one column from a hundred-million-row table still reads every column in every row. ClickHouse stores each column separately, so a query that aggregates one or two columns reads only those columns. For analytical workloads that select a small number of columns from very large tables, this columnar layout produces order-of-magnitude improvements in I/O compared to row-oriented storage. ClickHouse is built for this pattern: append-heavy data, wide tables, queries that scan large ranges and compute aggregates. It is used in observability platforms, web analytics pipelines, business intelligence systems, and any workload where the query pattern is known, wide, and aggregate-heavy rather than transactional and point-lookup-heavy.

## Installing ClickHouse on Linux and macOS

The README gives a single install command for Linux, macOS, and FreeBSD:

```
curl https://clickhouse.com/ | sh
```

This script detects the platform and installs the appropriate ClickHouse binary. A ClickHouse Cloud service is available at clickhouse.com/cloud for teams who prefer a managed deployment. For Docker-based setups, the repository includes a docker/ directory. The getting-started tutorial and documentation are published at clickhouse.com/docs. The repository's CI and testing infrastructure is C++ and Python, reflected by the presence of cmake/, src/, tests/, and ci/ directories in the top-level layout. A full build from source requires a C++ toolchain and cmake, which the CONTRIBUTING.md documents.

## The Column-Oriented Storage Engine and Query Execution

ClickHouse's storage engine uses a columnar format where data for each column is stored in compressed blocks. Queries that aggregate over a subset of columns skip unneeded column data entirely. The database uses vectorized query execution, processing data in chunks rather than row by row, which maps well to modern CPU SIMD instructions. The MergeTree family of table engines is central to ClickHouse: data is written as small sorted parts that are periodically merged in the background, similar to an LSM tree structure. ClickHouse supports SQL with significant extensions for analytics: window functions, approximate aggregation, time-series functions, and geospatial types. The documentation and release notes at clickhouse.com/docs are the authoritative reference for SQL dialect specifics.

## Where ClickHouse Falls Short

ClickHouse is designed for append-heavy workloads. While row updates and deletes are possible through mutations, they are expensive operations that run asynchronously in the background and are not suitable for frequent or transactional use. Point lookups by primary key are not a strength: the columnar format adds overhead for queries that retrieve a small number of specific rows. Transactions in the OLTP sense are not a primary feature. ClickHouse is also not a general-purpose document store or key-value database. Teams expecting PostgreSQL-style write-heavy transactional workloads will not benefit from ClickHouse and should use PostgreSQL or another row-oriented RDBMS for those patterns. Running ClickHouse well requires understanding its MergeTree partitioning and primary key design.

## ClickHouse versus PostgreSQL: Different Tools for Different Workloads

PostgreSQL is a row-oriented RDBMS built for transactional workloads: ACID-compliant, strong at point lookups, updates, and deletes, and widely supported by ORM libraries. ClickHouse is column-oriented and optimized for analytical queries over large append-heavy tables. The two are complementary rather than competitive in most architectures: PostgreSQL handles transactional data, while ClickHouse handles the analytical layer. Some teams replicate from PostgreSQL to ClickHouse using connectors to enable analytical queries without impacting transaction performance. Running a long-running analytical query over a large PostgreSQL table blocks or slows transactional queries; running the equivalent in ClickHouse avoids that contention.

## Release Cadence and Long-Term Support Track

ClickHouse releases monthly. The current stable release is v26.9.5.2-stable, published on 2026-09-28. The long-term support release is v26.8.14.3-lts, also published on 2026-09-28. The project holds monthly community release calls; recordings of recent calls for v26.8 and v26.7 are linked in the README along with slide decks. The repository tracks its release calendar at clickhouse.com/company/news-events. This monthly cadence means teams on the stable track receive new features frequently but also need to plan regular upgrades. The LTS track provides a slower-moving option for production environments where stability is prioritized over new features. The license is Apache 2.0.

## Conclusion

ClickHouse is the right choice for analytical workloads that require aggregating large volumes of append-heavy data with low query latency. It is not a replacement for PostgreSQL or other row-oriented databases in transactional or mixed read-write workloads. Teams running heavy analytical queries that have outgrown PostgreSQL should benchmark their specific query patterns against ClickHouse before migrating. The Apache 2.0 license permits commercial use. Monthly stable releases (currently v26.9.x) and long-term support releases (v26.8.x LTS) give teams a documented upgrade path.

## FAQ

### What is ClickHouse and why is it used?

ClickHouse is an open-source column-oriented database management system for real-time analytics. It stores each column separately on disk, which makes queries that aggregate large volumes of data significantly faster than row-oriented databases for those access patterns. It is used in web analytics, observability, and business intelligence workloads.

### What is ClickHouse versus PostgreSQL?

PostgreSQL is a row-oriented RDBMS for transactional workloads with strong ACID compliance and point-lookup performance. ClickHouse is a column-oriented analytical database optimized for aggregating large amounts of append-heavy data. The two address different workloads and are often deployed together in a single architecture.

### How do I install ClickHouse?

On Linux, macOS, or FreeBSD, run: curl https://clickhouse.com/ | sh. The script detects your platform and installs the appropriate binary. A managed cloud option is available at clickhouse.com/cloud.

### How do I use ClickHouse?

After installation, start the ClickHouse server and connect with the ClickHouse client. The getting-started tutorial at clickhouse.com/docs covers creating tables, inserting data, and running analytical queries using ClickHouse SQL. The clickhouse.com/docs reference documents the full SQL dialect including MergeTree engine options.

## Sources

- [Official documentation](https://clickhouse.com)
- [Official README](https://github.com/ClickHouse/ClickHouse#readme)
- [Project repository](https://github.com/ClickHouse/ClickHouse)
- [Release notes](https://github.com/ClickHouse/ClickHouse/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/clickhouse-clickhouse
