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