Что такое ClickHouse

Обновлено Обновлено: Опубликовано Опубликовано:

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

колоночная система управления базами данных. Оптимизирована для выполнения аналитических запросов (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.

Другие популярные СУБД, которые используются для аналитических запросов:

  1. Vertica
  2. Druid
  3. Pinot
  4. Elasticsearch
  5. Tarantool

Подробнее о ClickHouse на Википедии.



Дмитрий Моск
— IT-специалист.
Настройка серверов, услуги DevOps.

Другие термины

Procmail   1С:Предприятие   Симлинк   LXC/LXD   Блок питания компьютера   SSD   DNS   UAC   Жесткий диск   HTTP   Blu-Ray   Terraform   Кластер   STUN   DFS   Consul   Unix shell   NTFS   OpenCart   Git  
.....

Реклама