За что все его так любят: ТОП-5 достоинств ClickHouse для Big Data

g Data, Большие данные, обработка данных, архитектура, SQL, ClickHouse, DWH, Kafka, Zookeeper, Hive, Hadoop

Сегодня рассмотрим основные преимущества ClickHouse – аналитической СУБД от Яндекса для обработки запросов по структурированным большим данным в реальном времени. Читайте в нашей статье, чем еще хорош Кликхаус, кроме высокой скорости, и почему эту систему так любят аналитики, разработчики и администраторы Big Data.

Чем хорош ClickHouse: главные преимущества

Напомним, основным сценарием использования ClickHouse считается генерация аналитических запросов по структурированным данным c минимальной задержкой, фактически в режиме в режиме real time. Таким образом, главными преимуществами этой OLAP-СУБД для Big Data являются следующие:

  • скорость;
  • масштабируемость;
  • расширяемость;
  • высокая доступность и отказоустойчивость;
  • простота развертывания и удобство эксплуатации.

Далее рассмотрим подробнее, какие именно архитектурные и конструктивные особенности ClickHouse обеспечивают все эти достоинства.

Построение хранилища данных на базе Clickhouse

Код курса
CLICH
Ближайшая дата курса
17 февраля, 2025
Продолжительность
24 ак.часов
Стоимость обучения
72 000 руб.

Почему так быстро: 5 причин высокой скорости

Внедрение ClickHouse на сервисе Яндекс.Метрика отмечает следующие показатели: до 1 миллиарда строк в секунду на одном сервере и до 2-х ТБ в секунду на кластере из 400 узлов [1]. Такая производительность достигается благодаря архитектурным особенностям Кликхаус [2]:

  • столбцовое хранение данных;
  • физическая сортировка данных по первичному ключу;
  • векторные вычисления по участкам столбцов;
  • распараллеливание операций на несколько процессорных ядер одного сервера и распределенные вычисления на кластере за счет шардирования;
  • поддержка приближенных вычислений с помощью агрегатных функций, семплирования данных (выполнение запросов на части выборки), а также возможность агрегации ограниченного количества случайных ключей.

Важно, что ClickHouse выполняет запросы существенно быстрее, чем Big Data системы класса SQL-on-Hadoop: Apache Hive, Cloudera Impala, Presto и Spark, даже при работе с данными в колоночных форматах, таких как Parquet или Kudu [3].

При том, что Кликхаус как OLAP-система, в первую очередь ориентирован на чтение данных, он также показывает неплохие результаты в скорости записи благодаря табличному движку MergeTree. Он концептуально похож на алгоритм LSM из Google BigTable или Apache Cassandra, но не строит промежуточные таблицы в памяти, записывая данные сразу на жесткий диск. При этом каждый вставленный пакет сортируется только по первичному ключу (primary key), сжимается и записывается на диск, чтобы сформировать сегмент [4]. Поэтому ClickHouse отлично подходит для современных корпоративных хранилищ данных, например, как мы описывали здесь в кейсе Ситимобил.

Построение хранилища данных на базе Clickhouse

Код курса
CLICH
Ближайшая дата курса
17 февраля, 2025
Продолжительность
24 ак.часов
Стоимость обучения
72 000 руб.

Линейная масштабируемость

Добавление новых узлов позволяет наращивать мощность кластера до очень большого размера, способного обрабатывать петабайты данных. По умолчанию в ClickHouse возможна межцодовая репликация (Cross Data Center Replication), которая реплицирует данные между кластерами, обеспечивая защиту от сбоев и высокопроизводительный доступ к данным для глобально распределенных и критически важных Big Data приложений [1]. За координацию процесса репликации данных отвечает Apache Zookeeper.

Высокая доступность и отказоустойчивость

За счет децентрализации и отсутствия единой точки отказа, Кликхаус надежно работает в распределенном кластере. Асинхронная multi-master репликация обеспечивает реплицирование данных в фоновом режиме. СУБД поддерживает полную идентичность данных на разных репликах, автоматически восстанавливая их после сбоев. Для повышения надежности асинхронной репликации в Кликхаус возможен кворумный режим записи данных, когда она считается успешной только после того, как информация записана на несколько серверов — кворум. Так обеспечивается линеаризуемость и имитация синхронных реплик. Если количество реплик с успешной записью не достигнет заданного кворума, то запись считается не состоявшейся и ClickHouse сам удалит вставленный блок из всех реплик для обеспечения целостности данных [5].

Расширяемость

ClickHouse поддерживает диалект структурированного языка запросов, близкий к стандарту ANSI SQL, c расширениями, включая массивы и вложенные структуры данных, вероятностные структуры, URI-функцию, возможности подключить внешнее key-value хранилище [2]. Также можно написать собственные коннекторы на любом языке программирования благодаря наличию HTTP-интерфейса [6]. Благодаря специальным интеграционным движкам (engines) в качестве источника данных Кликхаус может использовать множество внешних хранилищ и баз данных. Например, здесь мы описывали особенности интеграции ClickHouse с Apache Kafka и примеры их использования в Big Data.

Простота развертывания и эксплуатации ClickHouse

Используемый в ClickHouse диалект SQL очень близок стандартному. Это снижает порог вода в технологию для аналитиков данных, для которых знание ANSI SQL является обязательным. В качестве средств подключения к СУБД можно использовать консоль, HTTP API, драйверы JDBS и ODBC, а также множество «оберток» (wrapper’ов) на Python, PHP, NodeJS, Perl, Ruby и R.

Установка Кликхаус на операционных системах Ubuntu и Debian Linux выполняется из готовых пакетов с помощью нескольких простых команд и не требует сложной настройки. Для работы СУБД в распределенном режиме требуется Apache Zookeeper, который обеспечивает координацию процесса репликации данных.

Еще в плане эксплуатации стоит отметить пониженную стоимость хранения данных по сравнению с другими столбцовыми СУБД, такими как SAP HANA и Google PowerDrill, которые работают только в RAM. Кликхаус ориентирован именно на эффективную работу с жесткими дисками, которые намного дешевле оперативной памяти [2].

Построение хранилища данных на базе Clickhouse

Код курса
CLICH
Ближайшая дата курса
17 февраля, 2025
Продолжительность
24 ак.часов
Стоимость обучения
72 000 руб.

Вышеописанные преимущества обусловливают высокую популярность ClickHouse среди аналитиков, разработчиков, а также администраторов Big Data. Обратной стороной этих достоинств являются специфические недостатки, которые мы рассмотрим в следующей статье. А как использовать все плюсы ClickHouse и других СУБД для оперативной обработки и надежного хранения больших данных на практике, вы узнаете на практических курсах по администрированию и эксплуатации Big Data систем в нашем лицензированном учебном центре повышения квалификации и обучения руководителей и ИТ-специалистов (разработчиков, архитекторов, инженеров и аналитиков) в Москве:

Источники

  1. https://habr.com/ru/post/322724/
  2. https://ru.bmstu.wiki/ClickHouse
  3. https://habr.com/ru/company/oleg-bunin/blog/351308/
  4. https://habr.com/ru/company/ua-hosting/blog/483112/
  5. https://clickhouse.tech/docs/ru/operations/settings/settings/#settings-insert_quorum
  6. https://blog.deteact.com/ru/yandex-clickhouse-injection/
Я даю свое согласие на обработку персональных данных и соглашаюсь с политикой конфиденциальности.
Поиск по сайту