[экспериментальный] Replicated
Движок основан на движке Atomic. Он поддерживает репликацию метаданных через журнал DDL, записываемый в ZooKeeper и выполняемый на всех репликах для данной базы данных.
На одном сервере ClickHouse может одновременно работать и обновляться несколько реплицированных баз данных. Но не может существовать нескольких реплик одной и той же реплицированной базы данных.
Создание базы данных
CREATE DATABASE testdb ENGINE = Replicated('zoo_path', 'shard_name', 'replica_name') [SETTINGS ...]
Параметры движка
zoo_path
— путь в ZooKeeper. Один и тот же путь ZooKeeper соответствует одной и той же базе данных.shard_name
— Имя шарда. Реплики базы данных группируются в шарды по имени.replica_name
— Имя реплики. Имена реплик должны быть разными для всех реплик одного и того же шарда.
Для таблиц ReplicatedMergeTree если аргументы не заданы, то используются аргументы по умолчанию: /clickhouse/tables/{uuid}/{shard}
и {replica}
. Они могут быть изменены в серверных настройках: default_replica_path и default_replica_name. Макрос {uuid}
раскрывается в UUID
таблицы, {shard}
и {replica}
— в значения из конфига сервера. В будущем появится возможность использовать значения shard_name
и replica_name
аргументов движка базы данных Replicated
.