Репликация
Инструмент «Базы данных – Репликация» предназначен для ручной и автоматической синхронизации данных между различными БД. В общем случае работа выглядит следующим образом:
1. Создаем подключение к базе данных, которая будет являться источником
2. Создаем провайдера, который будет являться получателем
3. Выбираем базу данных, имя таблицы в ней и провайдера получателя
4. Выбираем режим синхронизации
5. Включаем галочку «Включено», если необходима автоматическая репликация по таймеру либо используем кнопку «Выполнить» по мере надобности
Таких правил может быть сколько угодно. Предусмотрено пять режимов синхронизации:
1. Добавление новых строк. Как правило, в этом случае провайдер получателя имеет ограничение “sel ect * fr om table limit 0”, т.е. всегда возвращает пустоту. Запрос к БД источника имеет вид “sel ect * fr om table where “ID” > :ID order by “ID” limit 1000”. Значение параметра ID увеличивается при каждом выполнении запроса и сохраняется в правиле. Таким образом, обеспечивается поэтапное (по 1000 строк) считывание новых (с увеличивающимся ID) строк из источника и их добавление получателю через провайдер. Если запись уже существует – увеличится счетчик ошибок.
2. Добавление-обновление. Провайдер получателя содержит полную выборку. Запрос в источник не имеет ограничений. Производится полное сравнение таблиц и синхронизация всех отличий, кроме удалений
3. Добавление-обновление-удаление. Аналогично п. 2 с удалением отсутствующих в источнике строк
4. Добавление-обновление с параметрами. Аналогично п. 2, с параллельной синхронизацией выборки select * fr om "C_ParamsValues" wh ere "IDObject" = :ID. Это позволяет синхронизировать параметры системы для объектов основной выборки.
5. Добавление-обновление-удаление с параметрами. Комбинация п. 3 и 4.
Типовые сценарии использования репликации:
1. Синхронизация пользователей, групп, очередей, квалификаций. Можно настроить кнопкой «Добавить источник конфигурации». После указания источников БД Configuration и Security будет создано 16 правил.
2. Синхронизация статистических данных. Можно настроить кнопкой «Добавить источник статистики». После указания источника БД Statistics будет создано 25 правил.
При необходимости набор правил для этих шаблонов, а также интервал автоматической репликации можно изменить (Параметры системы: Сервер платформы – Служебные – Репликация).
Важные моменты:
1. Необходимо продумать интервалы идентификаторов для каждого сервера, чтобы исключить пересечения, и правильно задать начальные значения генератора.
2. Для отслеживания производительности репликации имеет смысл контролировать отчеты профайлера в логе бизнес-сервера.
3. Не рекомендуется в автоматическом режиме реплицировать объекты, для которых важно текущее состояние (например, сценарии IVR и кампании). Можно использовать ручную репликацию для переноса данных, затем выполнять необходимые действия из интерфейса (активация сценариев, запуск кампаний и т.д.).