← Ко всем open source проектам

ClickHouse

ClickHouse/ClickHouse

ClickHouse — колоночная аналитическая СУБД для быстрых запросов по большим объемам событийных и табличных данных.

Форки 8,500
Автор ClickHouse
Язык C++
Лицензия Apache-2.0
Обновлено 2026-06-10

Что это такое

ClickHouse — колоночная аналитическая СУБД для быстрых запросов по большим объемам данных. Ее часто используют для логов, событий, метрик, продуктовой аналитики, финансовых данных и любых задач, где нужно быстро агрегировать много строк.

Репозиторий открыт в 2016 году. Проект вырос из практической задачи: нужна база, которая эффективно хранит колонки, сжимает данные, параллелит запросы и отвечает на аналитические вопросы быстрее классических строковых хранилищ в таких сценариях.

Что внутри репозитория

Внутри — ядро базы на C++, SQL-движок, табличные движки, распределенное выполнение, сжатие, форматы ввода-вывода, тесты, документация и инструменты сборки. ClickHouse можно запускать локально, в кластере или использовать облачный сервис от команды проекта.

Минимальный аналитический запрос

Пример показывает типичный сценарий: события пишутся в таблицу, а затем быстро агрегируются по дню и типу события.

Язык: Plain text
CREATE TABLE events (
  ts DateTime,
  name String,
  user_id UInt64
) ENGINE = MergeTree ORDER BY ts;

SELECT toDate(ts) AS day, name, count()
FROM events
GROUP BY day, name
ORDER BY day DESC;

Где полезен

ClickHouse полезен там, где много данных, которые в основном только добавляются и нужны быстрые отчеты: продуктовые метрики, наблюдаемость, рекламная аналитика, финтех-агрегации, поведенческие события, телеметрия. Он часто стоит рядом с Kafka, объектными хранилищами, BI-инструментами и собственными дашбордами.

Сильные стороны и ограничения

Сильная сторона ClickHouse — скорость аналитических запросов и зрелость вокруг больших данных. Ограничения связаны с моделью использования: это не универсальная OLTP-база для частых точечных обновлений и сложных транзакций. Его нужно проектировать под аналитические паттерны, правильно выбирать ORDER BY, партиционирование и политику хранения.