колоночная система управления базами данных. Оптимизирована для выполнения аналитических запросов (OLAP-система или Online Analytical Processing). Разработана компанией Яндекс, в основном, на C++ (75%) и Python (15%). В 2021 году совместно с Index Ventures и Benchmark Capital было объявлено о создании отдельной компании ClickHouse Inc. Она занимается развитием и поддержкой одноименного программного продукта.
ClickHouse можно установить на системы Linux, BSD и Mac OS. Для установки можно использовать исходник, репозиторий, скачать готовый бинарник или запускать в виде Docker-контейнера. Подробная инструкция представлена в документации на официальном сайте.
Плюсы СУБД:
- Высокая скорость работы. В сравнении с аналогами, кликхаус демонстрирует высокие показатели своей работы.
- Отказоустойчивость и масштабируемость. Система легко разворачивается в виде кластера, для расширения которого можно просто добавлять новые узлы.
- Легкий и удобный в использовании. Поддерживает близкий к стандарту SQL диалект.
Минусы системы:
- Отсутствие транзакций. Для OLAP-баз характерны, преимущественно, запросы на чтение. Наличие возможности транзакций не является целесообразным.
- Ограничения для запросов JOIN.
- Большая зависимость от объема оперативной памяти.
- Медленная работа для маленьких запросов (одиночных строк).
В сравнении с другими СУБД ClickHouse демонстрирует высокую скорость работы. Например, сравнение с PostgreSQL и Elastic представлено на сайте хабра.
Вместе с серверной частью можно установить clickhouse-client для подключения к среде выполнения команд. Как говорилось выше, запросы ClickHouse, во многом, поддерживают стандарт SQL. Например, команда для создания новой таблицы:
🙂 CREATE TABLE users (
id UInt32,
name String,
title String,
dateCreated DateTime,
age UInt8
) ENGINE = MergeTree() PRIMARY KEY id
* в данном примере мы создадим таблицу users.
Помимо clickhouse-client, СУБД интегрируется с большинством популярных языков программирования, а также для работы существует веб-клиент, драйверы ODBC и JDBC.
Другие популярные СУБД, которые используются для аналитических запросов:
- Vertica
- Druid
- Pinot
- Elasticsearch
- Tarantool
Подробнее о ClickHouse на Википедии.