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