Схема репликации транзакций
Технология Diasoft FA#.Back базируется на механизме репликации по схеме репликации транзакций.
Реализация схемы репликации транзакций
Конфигурирование и создание необходимых компонентов репликации осуществляется с помощью набора поставляемых командных файлов и скриптов, входящих в состав продукта Diasoft FA#.Back, EIS.
Процесс репликации автоматизируют Агенты репликации:
- При выполнении репликации транзакций агент Snapshot создает исходный моментальный снимок данных, помеченных для репликации, и копирует его с сервера-издателя в папку моментальных снимков распространителя.
- Агент Distribution направляет полученный снимок каждому подписчику.
- Агент Log Reader следит за изменениями данных, участвующих в репликации, фиксирует каждое изменение журнала транзакций в БД распространения.
- Агент Distribution отправляет каждое изменение всем подписчикам в первоначальном порядке выполнения этих изменений. Если хранимая процедура используется для обновления большого количества записей, можно реплицировать эту процедуру, а не каждую обновленную строку.
Все агенты заносят информацию о событиях и ошибках в БД распространения.
При наличии сетевого соединения с издателем могут получать изменения почти в реальном времени.
После того, как все подписчики получат реплицированные транзакции, агент Distribution Clean UP удаляет эти транзакции из БД распространения.
Log Reader Agent запускается на дистрибьюторе в соответствии с расписанием, которое определяется при создании публикации. В зависимости от настроеек Log Reader Agent работает по регулярному расписанию или непрерывно. При работе Log Reader Agent обрабатывает данные из журнала транзакций.
Эти модификации объединяются в пакет и отправляются в дистрибутивную базу данных на дистрибьюторе. Внутри дистрибутивной базы данных имеется несколько таблиц, в которых отслеживаются изменения репликации и задачи. Далее происходит фиксирование транзакций этого пакета. При отказе фиксирования в журнале ошибок агента появляется соответствующее сообщение.
После успешного фиксирования этих изменений в дистрибутивной базе данных Log Reader Agent помечает последнее изменение, включенное в последнюю операцию репликации, исключая повторения этих изменений.
После прочтения транзакции и фиксирования ее в дистрибутивной базе данных, Log Reader Agent помечает строки журнала транзакций, подходящие для усечения (eligible to be truncated).