Структура кластера ClickHouse

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

Механизмы шардирования и репликации работают независимо друг от друга.

Для управления шардированием и репликацией данных в кластере ClickHouse предназначена служба ClickHouse Keeper. Подробную информацию о службе можно найти в официальной документации ClickHouse.

О шардировании

Шардирование представляет собой механизм разбиения данных БД на фрагменты и их размещения на разных шардах.

Шард — это узел кластера, содержащий группу копий данных (реплик). Распределение данных по шардам позволяет:

  • повысить отказоустойчивость работы СУБД;

  • упростить масштабирование системы при ограниченности технических ресурсов;

  • ускорить обращение к данным за счет распределения нагрузки и оптимизации обработки информации.

Для шардирования создаются специальные распределенные таблицы (Distributed-таблицы), с помощью которых происходит маршрутизация запросов к шардированным таблицам. Распределенные таблицы в ClickHouse работают на движке Distributed.

Подробную информацию о шардировании и Distributed-таблицах можно найти в официальной документации ClickHouse.

О репликации

Репликация представляет собой механизм для управления репликами таблиц в БД и их синхронизации.

Реплика — копия данных, хранящихся в БД ClickHouse. Использование реплик создает избыточность данных, за счет чего повышает их надежность и доступность.

Таблицы, для данных которых создаются реплики, называются реплицируемыми. Репликация в ClickHouse доступна только для таблиц на движке MergeTree.

Подробную информацию о репликации и MergeTree-таблицах можно найти в официальной документации ClickHouse.