Harnessing the Power of ClickHouse Arrays – Part 3

This final article completes our tour of array capabilities. We’ll survey functions for array map and reduce operations, demonstrating behavior and commenting on performance. This is an opportunity to dig further into lambdas, which are critical for using arrays effectively.

Read More
Harnessing the Power of ClickHouse Arrays – Part 2

ClickHouse arrays combine neatly with GROUP BY aggregation. We show how arrays track sequences and offer a couple of ways to do funnel analysis.

Read More
ClickHouse and S3 Compatible Object Storage

ClickHouse is a polyglot database that can talk to many external systems using dedicated engines or table functions. In modern cloud systems, the most important external system is object storage. It can hold raw data to import from or export to other systems (aka a data lake) and offer cheap and highly durable storage for table data. ClickHouse now supports both of these uses for S3 compatible object storage.

Read More
Harnessing the Power of ClickHouse Arrays – Part 1

ClickHouse contributors regularly add analytic features that go beyond standard SQL. This design approach is common in successful open source projects and reflects a bias toward solving real-world problems creatively. Arrays are a great example.

Read More
Introduction to ClickHouse Backups and clickhouse-backup

Data backups are an inglorious but vital part of IT operations. They are most challenging in "big data" deployments, such as analytics databases. This article will explore the plumbing involved in backing up ClickHouse and introduce the clickhouse-backup tool for automating the process.

Read More
ClickHouse Kafka Engine Tutorial

Our colleague Mikhail Filimonov just published an excellent ClickHouse Kafka Engine FAQ. It provides users with answers to common questions about using stable versions, configuration parameters, standard SQL definitions, and many other topics. Even experienced users are likely to learn something new.
But what if you are getting started and need help setting up Kafka and ClickHouse for the first time? Good news! This article is for you.

Read More
ClickHouse Kafka Engine FAQ

Kafka is a popular way to stream data into ClickHouse. ClickHouse has a built-in connector for this purpose -- the Kafka engine. Our friends from Cloudfare originally contributed this engine to ClickHouse. The Kafka engine has been reworked quite a lot since then and is now maintained by Altinity developers. It is not always evident how to use it in the most efficient way, though. We tried to fill the gap with a Kafka webinar, which was a success. In this article we collected typical questions that we get in our support cases regarding the Kafka engine usage. We hope that our recommendations will help to avoid common problems.

Read More
Handling Real-Time Updates in ClickHouse

Mutable data is generally unwelcome in OLAP databases. ClickHouse is no exception to the rule. Like some other OLAP products, ClickHouse did not even support updates originally. Later on, updates were added, but like many other things they were added in a “ClickHouse way.”

Even now, ClickHouse updates are asynchronous, which makes them difficult to use in interactive applications. Still, in many use cases users need to apply modifications to existing data and expect to see the effect immediately. Can ClickHouse do that? Sure it can.

Read More
Five Ways to Handle as-of Queries in ClickHouse

A common use case in time series applications is to get the measurement value at a given point of time. For example, if there is a stream of measurements, one often needs to query the measurement as of current time or as of the same day yesterday and so on. Financial market data analysis and all sorts of monitoring applications are typical examples.

Databases have different ways to achieve this task and ClickHouse is not an exception here. In fact, ClickHouse offers at least 5 different approaches. In this article, we will review and compare them.

Read More
Putting Things Where They Belong Using New TTL Moves


Multi-volume storage is crucial in many use cases. It helps to reduce storage costs as well as improves query performance by allowing placement of the most critical application data on the fastest storage devices. Monitoring data is a classic use case. The value of data degrades rapidly over time. The last day, last week, last month, and previous year data have very different access patterns, which in turn correspond to various storage needs.

Read More
Creating Beautiful Grafana Dashboards on ClickHouse: a Tutorial

Dec 28, 2019
Grafana is a popular tool to create dashboards of time series data. It features outstanding graphics, interactive displays that zoom in on data, and support for a wide range of data sources.  It turns out that one of those data sources is ClickHouse, and Grafana is a great way to visualize ClickHouse data. 

Read More
Amplifying ClickHouse Capacity with Multi-Volume Storage (Part 2)


This article is a continuation of the series describing multi-volume storage, which greatly increases ClickHouse server capacity using tiered storage. In the previous article we introduced why tiered storage is important, described multi-volume organization in ClickHouse, and worked through a concrete example of setting up disk definitions. 

Read More