Мультинаправленная репликация между базами (постановка)
Мы будем рассматривать вариант мультинаправленной асинхронной дельта репликации в топографии "звезда".
Как видно на представленном рисунке, несколько Удаленных баз данных (УБД) обмениваются данными с одной Центральной базой данных (ЦБД). Изменение данных может осуществляться как на УБД, так и на ЦБД. Передача изменений напрямую от одной УБД к другой, минуя ЦБД, невозможна.
Совокупность всех УБД и ЦБД, включенных в схему репликации, называется Распределенной базой данных (РБД).
Циркуляция изменений в рамках распределенной базы данных происходит внутри т.н. доменов. Домен может состоять только из ЦБД, или ЦБД и одной или нескольких УБД. Каждый объект может принадлежать одному или нескольким доменам одновременно. В РБД одновременно может существовать неограниченное количество доменов.
На рисунке ниже показана РБД с двумя доменами. Согласно представленной схеме, если некоторый объект принадлежит только "Домену 1", то его изменения, сделанные на УБД1, будут переданы (реплицированы) на ЦБД и УБД3, но не попадут на УБД2, так как она не входит в "Домен 1". Аналогично, изменения объекта из "Домена 2" будут передаваться только между УБД2 и ЦБД.
Принадлежность объекта домену может устанавливаться только на основании его класса (вертикальное разбиение) или класса и принадлежности некоторому множеству (горизонтальное разбиение). Пример вертикального разбиения -- все объекты класса "Компания". Пример горизонтального -- все объекты класса "Компания", входящие в папку "Общие клиенты" справочника контактов.
Объекты, не принадлежащие ни одному из доменов, реплицируются по всей РБД. Т.е. можно говорить что такие объекты принадлежит некоему глобальному домену, который существует изначально и покрывает всю РБД.
Мы будем называть доменным пространством P объекта О объединение всех доменов, которым принадлежит указанный объект.
В рамках доменного пространства, в один момент времени, редактирование или удаление объекта возможно только на одной базе данных. Такая база данных называется активной базой данных доменного пространства P (АБД). Активная база данных в начальный момент времени называется главной базой данных доменного пространства P (ГБД). Статус активной базы передается от ГБД к другой базе данных из Р на ограниченный промежуток времени Ta.
Создание новых объектов воможно на любой базе данных вне зависимости от статуса активности.
Мы будем использовать термин база данных (БД) в тех случаях, когда для нас не имеет значение является ли указанная база ЦБД или УБД в схеме репликации, имеет ли она статус активной в некотором доменном пространстве P или нет.