Что такое 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.

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

Keycloak   Тонкий клиент   SoftEther   Биткоин   Чипсет   Redis   RTMP   NTP   Mango АТС   NTFS   Скриншот   Zookeeper   Блок питания компьютера   Terraform   OEM   DNSSEC   RAID   Логин   RAW   Fail2ban  
.....

Реклама