Введение
Примеры развертывания в этом разделе основаны на рекомендациях, которые организация ClickHouse Support and Services предоставляет пользователям ClickHouse. Это рабочие примеры, и мы рекомендуем опробовать их, а затем адаптировать под свои нужды. Возможно, вы найдете здесь пример, который точно соответствует вашим требованиям.
Мы предлагаем «рецепты» нескольких различных топологий в репозитории с примерами и рекомендуем ознакомиться с ними, если примеры в этом разделе не полностью соответствуют вашим потребностям.
Терминология
Реплика
Копия данных. ClickHouse всегда имеет как минимум одну копию ваших данных, поэтому минимальное количество реплик равно одному. Это важная деталь: вы, возможно, не привыкли считать исходную копию ваших данных репликой, но именно такой термин используется в коде и документации ClickHouse. Добавление второй реплики ваших данных обеспечивает отказоустойчивость.
Шард
Подмножество данных. ClickHouse всегда имеет как минимум один шард для ваших данных, поэтому, если вы не распределяете данные между несколькими серверами, ваши данные будут храниться в одном шарде. Шардинг данных по нескольким серверам может использоваться для распределения нагрузки, если она превышает возможности одного сервера. Целевой сервер определяется ключом шардирования, который задается при создании распределенной таблицы. Ключ шардирования может быть случайным или представлять собой результат работы хэш‑функции. Примеры развертывания с шардингом будут использовать rand() как ключ шардирования и предоставят дополнительную информацию о том, когда и как выбирать другой ключ шардирования.
Распределенная координация
ClickHouse Keeper предоставляет систему координации для репликации данных и выполнения распределенных DDL‑запросов. ClickHouse Keeper совместим с Apache ZooKeeper.