СУБД ЛИНТЕР. Технический обзор

Правила репликации


Для управления системой на логическом уровне в СУБД ЛИНТЕР используются правила репликации, которые создаются обычным SQL-запросом и представляют собой описание того, какие объекты, куда и каким образом реплицировать. В ЛИНТЕР создание правила репликации выглядит так:

CREATE REPLICATION RULE имя_правила FOR [ имя_пользователя. ] имя_таблицы [ TO имя_удаленной_таблицы ] ON NODE имя_сервера [ USER имя_пользователя ] [ PASSWORD 'пароль' ] [ ENABLE / DISABLE ] [ SYNC / ASYNC ] [ IGNORE OLD VALUE / CHECK OLD VALUE / CORRECT NUMBERS ];

Сама репликация происходит по первичным ключам – каждая таблица, подлежащая репликации должна содержать первичный ключ, значение которого используется для идентификации (при удалении и изменении значений) в реплицируемых таблицах.

Есть три модели поведения системы при возникновении рассогласования между значениями записей в базах данных реплицируемых серверов. Если такая ситуация возникла во время выполнения операции (update, delete), можно предпринять следующие действия:

  • IGNORE OLD VALUE – игнорировать несовпадение старого значения,
  • CHECK OLD VALUE – обязательно проверить старое состояние и вернуть ошибку, если нет полного совпадения,
  • CORRECT NUMBERS – если не совпадают числовые значения, сохранить разницу между старым и новым значением.
  • Неразрешимые коллизии могут возникнуть при одновременной вставке во взаимно реплицируемые таблицы одинакового значения первичного ключа.



    Содержание раздела