Перейти к основному содержимому
Перейти к основному содержимому

Введение

Эти примеры развертывания основаны на рекомендациях, предоставленных пользователям 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 для управления репликацией.

Промежуточный

  • Скоро

Продвинутый

  • Скоро