Glossary Entry

What is ClickHouse?

ClickHouse is an open-source, column-oriented database for real-time analytical queries. Learn how vectorized execution works and how it fits near a lakehouse.

Written by Alex Merced

What is ClickHouse?

An open-source, column-oriented database management system designed for real-time analytical queries and reports.

ClickHouse was originally developed at Yandex to power its web analytics service, Yandex.Metrica, and was released as open source under the Apache 2.0 license in 2016. It is now developed primarily by ClickHouse, Inc., which also offers a managed cloud service. ClickHouse is widely used for log analytics, observability, product analytics, and user-facing dashboards that need fast aggregations over large tables.

Core Architecture and Mechanics

To understand how ClickHouse delivers fast analytics, it helps to look at a few core design choices:

  • Stores data by column in MergeTree tables. Data is written in sorted, immutable parts that are merged in the background, and a sparse primary index lets queries skip large ranges of rows that cannot match a filter.
  • Uses vectorized execution to process columns in batches rather than one row at a time. This makes good use of CPU caches and SIMD instructions, which speeds up scans and aggregations.
  • Scales out through sharding and replication. A distributed table fans a query out to shards in parallel and merges the partial results.

ClickHouse can also query external data, including Apache Iceberg tables through its Iceberg table engine and table function, and it is commonly used alongside tools such as dbt.

Why ClickHouse Matters in the Modern Data Stack

Columnar storage, data skipping, and parallel execution let ClickHouse aggregate large volumes of data quickly, which suits workloads where many users or applications run analytical queries with low latency expectations.

For data teams, ClickHouse is often used as a serving layer: data lands in the lakehouse or arrives from streams such as Kafka, and ClickHouse holds the hot, frequently queried subset for dashboards and APIs. It is open source, so teams can self-host it or use a managed service.

Key Benefits

  • Fast Aggregations: Columnar storage and vectorized execution make large GROUP BY queries fast.
  • Open Source: Available under the Apache 2.0 license, with self-managed and managed deployment options.
  • Enhanced Observability: System tables expose query logs, metrics, and part information so engineers can monitor and tune workloads.

Frequently Asked Questions

Do distributed engines store the data?

Some do (like ClickHouse and Snowflake, which manage their own storage formats), while others (like Trino or Presto) provide only the compute layer and query data directly from open lakehouse storage. This distinction matters when evaluating total architecture costs and performance.

What is vectorized execution?

It is an optimization that processes data in column batches sized to fit CPU caches, rather than one row at a time, which speeds up analytical operations.

How does ClickHouse impact data governance and security?

ClickHouse provides SQL-based access control, including users, roles, grants, and row policies, along with query logging in system tables. These features help teams control and audit who can access which data.

Learn More

To learn more about the Data Lakehouse, read The Lakehouse Built for Everyone by Alex Merced. You can find this and other books by Alex Merced at books.alexmerced.com.

Related Terms

What is Vectorized Execution?

Vectorized execution is a query processing model that works on batches of columnar values instead of rows, using CPU cache and SIMD in engines like DuckDB.

What is Compute Layer?

The compute layer is the tier of a decoupled architecture that runs queries and transforms data. See how engines like Trino query open lakehouse storage.

What is Distributed SQL Engine?

A distributed SQL engine runs one query in parallel across a cluster of nodes. Learn how engines like Trino query lakehouse storage with vectorized execution.

What is MPP Architecture?

MPP architecture is a parallel database design where one query is split across many compute nodes that run at once, using vectorized execution and pushdown.

Snowflake and Apache Iceberg: How the Warehouse Fits an Open Lakehouse

Snowflake is a managed cloud data platform that separates storage from compute. See how its Iceberg tables and catalogs fit an open, multi-engine lakehouse.

What is Presto?

Presto is an open-source distributed SQL engine built at Facebook for interactive data lake queries. Learn how it relates to Trino and how its pipelines run.

Apache Doris and Iceberg: How It Compares to StarRocks

Apache Doris is an open source MPP database for real-time, high-concurrency analytics. See how it reads and writes Iceberg tables and compares to StarRocks.

What is Late Materialization?

Late materialization is a query technique where a columnar engine filters on a few columns first and reads the remaining columns only for the rows that match.

Work with Alex