Схема репликации транзакций

Технология Diasoft FA#.Back базируется на механизме репликации по схеме репликации транзакций.

Реализация схемы репликации транзакций

Конфигурирование и создание необходимых компонентов репликации осуществляется с помощью набора поставляемых командных файлов и скриптов, входящих в состав продукта Diasoft FA#.Back, EIS.

Процесс репликации автоматизируют Агенты репликации:

  1. При выполнении репликации транзакций агент Snapshot создает исходный моментальный снимок данных, помеченных для репликации, и копирует его с сервера-издателя в папку моментальных снимков распространителя.
  2. Агент Distribution направляет полученный снимок каждому подписчику.
  3. Агент Log Reader следит за изменениями данных, участвующих в репликации, фиксирует каждое изменение журнала транзакций в БД распространения.
  4. Агент Distribution отправляет каждое изменение всем подписчикам в первоначальном порядке выполнения этих изменений. Если хранимая процедура используется для обновления большого количества записей, можно реплицировать эту процедуру, а не каждую обновленную строку.

Все агенты заносят информацию о событиях и ошибках в БД распространения.
При наличии сетевого соединения с издателем могут получать изменения почти в реальном времени.
После того, как все подписчики получат реплицированные транзакции, агент Distribution Clean UP удаляет эти транзакции из БД распространения.

Log Reader Agent запускается на дистрибьюторе в соответствии с расписанием, которое определяется при создании публикации. В зависимости от настроеек Log Reader Agent работает по регулярному расписанию или непрерывно. При работе Log Reader Agent обрабатывает данные из журнала транзакций.

Эти модификации объединяются в пакет и отправляются в дистрибутивную базу данных на дистрибьюторе. Внутри дистрибутивной базы данных имеется несколько таблиц, в которых отслеживаются изменения репликации и задачи. Далее происходит фиксирование транзакций этого пакета. При отказе фиксирования в журнале ошибок агента появляется соответствующее сообщение.

После успешного фиксирования этих изменений в дистрибутивной базе данных Log Reader Agent помечает последнее изменение, включенное в последнюю операцию репликации, исключая повторения этих изменений.

После прочтения транзакции и фиксирования ее в дистрибутивной базе данных, Log Reader Agent помечает строки журнала транзакций, подходящие для усечения (eligible to be truncated).