Wiki
Web / стек

ClickHouse — что это простыми словами

ClickHouse — колоночная OLAP-БД от Yandex. Аналитика на миллиардах строк, INSERT миллионы/сек, SELECT за миллисекунды. Основа Cloudflare Analytics, GitLab, Yandex Metrica.

ClickHouse — колоночная OLAP-БД, разработана Yandex с 2009, open-source с 2016. Оптимизирована под аналитику на миллиардах строк: INSERT миллионы/сек, SELECT-агрегации за миллисекунды. Используется Cloudflare Analytics, GitLab Analytics, Yandex Metrica, Uber, Adjust.

Ключ производительности: (1) колоночное хранение — каждая колонка в отдельном файле, SELECT читает только нужные, (2) compression до 10-30x (аналогичные значения в столбце жмутся хорошо), (3) векторные вычисления — SIMD-инструкции, (4) materialized views — предагрегация при INSERT, (5) distributed sharded tables — горизонтальное масштабирование.

Что НЕ делает: (1) UPDATE/DELETE медленный — оптимизирован под append-only workload (логи, события, метрики), (2) transactions ограничены — не ACID для веб-приложений, (3) JOIN дорогой на больших таблицах — денормализация приветствуется.

Use cases: (1) web-analytics (миллиарды page-views), (2) APM/observability (traces, logs), (3) fintech-analytics (транзакции, отчёты), (4) AdTech real-time, (5) security-логи. Не годится для веб-CRUD (там Postgres). У нас на VPS-M+ ставится cloud-init'ом.

Частые вопросы

ClickHouse или Elasticsearch?
ClickHouse — OLAP-аналитика, лучше сжимает, дешевле storage. Elastic — full-text search, лучше для строкового поиска. Часто вместе.
Сколько RAM?
От 8 ГБ. ClickHouse активно кэширует, но и на 4 ГБ работает для маленьких datasets.

Смотрите также