CREATE ASYNC REPLICATION
Вызов CREATE ASYNC REPLICATION создает экземпляр асинхронной репликации.
Синтаксис
CREATE ASYNC REPLICATION <name>
FOR <remote_path> AS <local_path> [, <another_remote_path> AS <another_local_path>]
WITH (option = value [, ...])
где:
name— имя экземпляра асинхронной репликации.remote_path— относительный или абсолютный путь до исходной таблицы или директории в базе-источнике.local_path— относительный или абсолютный путь до целевой таблицы или директории в текущей базе.WITH (option = value [, ...])— параметры асинхронной репликации.
Параметры
-
CONNECTION_STRING— строка соединения c базой-источником. Обязательный параметр. -
CA_CERT— корневой сертификат для TLS. Необязательный параметр. Может быть указан, если база-источник поддерживает режим обмена данными с шифрованием (CONNECTION_STRINGначинается сgrpcs://). -
Настройки для аутентификации в базе-источнике одним из способов (обязательно):
-
С помощью токена:
TOKEN_SECRET_NAME— имя секрета, содержащего токен.
-
С помощью логина и пароля:
USER— имя пользователя.PASSWORD_SECRET_NAME— имя секрета, содержащего пароль.
-
С помощью делегированного сервисного аккаунта:
SERVICE_ACCOUNT_ID— идентификатор сервисного аккаунта.INITIAL_TOKEN_SECRET_NAME— имя секрета, содержащего токен от сервисного аккаунта. Используется для первоначальной инициализации.
-
-
CONSISTENCY_LEVEL— уровень согласованности реплицируемых данных:ROW— согласованность данных уровня строки. Режим по умолчанию.GLOBAL— глобальная согласованность данных. Дополнительно можно указать:COMMIT_INTERVAL— периодичность фиксации изменений в формате ISO 8601. Значение по умолчанию — 10 секунд.
Примеры
Совет
Перед выполнением операции создайте секрет с аутентификационными данными для подключения или убедитесь в его существовании и наличии доступа к нему.
Создание экземпляра асинхронной репликации для таблицы original_table из базы /Root/another_database в текущую базу в таблицу replica_table:
CREATE ASYNC REPLICATION my_replication_for_single_table
FOR original_table AS replica_table
WITH (
CONNECTION_STRING = 'grpcs://example.com:2135/?database=/Root/another_database',
TOKEN_SECRET_NAME = 'my_secret'
);
Для подключения к базе /Root/another_database используется эндпоинт grpcs://example.com:2135, а для аутентификации — токен из секрета my_secret.
Создание экземпляра асинхронной репликации для таблиц original_table_1 и original_table_2 в replica_table_1 и replica_table_2, соответственно:
CREATE ASYNC REPLICATION my_replication_for_multiple_tables
FOR original_table_1 AS replica_table_1, original_table_2 AS replica_table_2
WITH (
CONNECTION_STRING = 'grpcs://example.com:2135/?database=/Root/another_database',
TOKEN_SECRET_NAME = 'my_secret'
);
Создание экземпляра асинхронной репликации для содержимого директории original_dir:
CREATE ASYNC REPLICATION my_replication_for_dir
FOR original_dir AS replica_dir
WITH (
CONNECTION_STRING = 'grpcs://example.com:2135/?database=/Root/another_database',
TOKEN_SECRET_NAME = 'my_secret'
);
Создание экземпляра асинхронной репликации для содержимого базы /Root/another_database:
CREATE ASYNC REPLICATION my_replication_for_database
FOR `/Root/another_database` AS `/Root/my_database`
WITH (
CONNECTION_STRING = 'grpcs://example.com:2135/?database=/Root/another_database',
TOKEN_SECRET_NAME = 'my_secret'
);
Создание экземпляра асинхронной репликации с указанием корневого сертификата для TLS:
CREATE ASYNC REPLICATION my_consistent_replication
FOR original_table AS replica_table
WITH (
CONNECTION_STRING = 'grpcs://example.com:2135/?database=/Root/another_database',
TOKEN_SECRET_NAME = 'my_secret',
CA_CERT = '-----BEGIN CERTIFICATE-----...'
);
Создание экземпляра асинхронной репликации в режиме глобальной согласованности данных (периодичность фиксации изменений по умолчанию — 10 секунд):
CREATE ASYNC REPLICATION my_consistent_replication
FOR original_table AS replica_table
WITH (
CONNECTION_STRING = 'grpcs://example.com:2135/?database=/Root/another_database',
TOKEN_SECRET_NAME = 'my_secret',
CONSISTENCY_LEVEL = 'GLOBAL'
);
Создание экземпляра асинхронной репликации в режиме глобальной согласованности данных с минутной периодичностью фиксации изменений:
CREATE ASYNC REPLICATION my_consistent_replication_1min_commit_interval
FOR original_table AS replica_table
WITH (
CONNECTION_STRING = 'grpcs://example.com:2135/?database=/Root/another_database',
TOKEN_SECRET_NAME = 'my_secret',
CONSISTENCY_LEVEL = 'GLOBAL',
COMMIT_INTERVAL = Interval('PT1M')
);