
21)Модели репликации
Репликация (Replication) - процесс создания и размещения копий данных и объектов на серверах распределенной системы, позволяющий уменьшить время реакции системы на запросы пользователей.
Репликация моментальных снимков (Snapshot replication) - тип репликации, при котором моментальный снимок данных на издателе передается подписчику и полностью замешает предыдущую реплику. Передача моментальных снимков производится по определенному графику.
Репликация по запросу (Pull subscription) - тип репликации, состоящий в том, что инициатором передачи изменений подписчик, запрашивающий изменения от издателя.
Репликация сведением (Merge replication) - тип репликации, позволяющий подписчикам выполнять модификации в собственных базах данных с последующим сведением изменений на издателе.
(Это
наверно надо удалить)Модель
публикаций включает
такие компоненты, как публикующий
сервер,
распределительный сервер, распределительную
базу данных и серверы-подписчики
(рис. 6.22).
Рис. 6.22. Модель публикаций компании Microsoft
Публикующий сервер содержит базы данных, которые являются источником информации для серверов-подписчиков. Публикующий сервер самостоятельно устанавливает перечень данных для репликации. Распределительный сервер осуществляет интеграцию реплицируемых данных в специальной распределительной базе данных и их передачу на серверы-подписчики. Публикующие серверы формируют подписки, состоящие из отдельных статей, каждая из которых соответствует таблице, либо индексу, либо хранимой процедуре.
Основными типами репликаций являются следующие: мгновенная репликация, репликация слиянием, транзакционная репликация.
Мгновенная
репликация
характеризуется максимальной степенью
серверной зависимости и заключается в
формировании мгновенного снимка данных,
включающего содержание таблиц либо их
частей, и передаче их подписчикам. Для
реализации этого вида репликации
необходимы существенные затраты на
передачу данных. Наиболее простой
вариант использования мгновенной
репликации состоит в обновлении таблиц,
доступных только для чтения, на
серверах-подписчиках. Поддержка
мгновенной репликации производится
распределительным агентом и агентом
мгновенной репликации (рис. 6.23). Последний
выполняет функции по формированию
образа данных, синхронизация исходных
и целевых таблиц на начальной стадии
репликации и хранению файлов на
распределительном сервере. Распределительный
сервер реализует функционал по передаче
мгновенных копий с публикующего сервера
на сервер-подписчик.
Рис. 6.23. Схема мгновенной репликации
Репликация слиянием характеризуется тем, что обновление данных допускается как на различных серверах-подписчиках, так и на публикующем сервере. Измененные данные со всех серверов-подписчиков передаются на публикующий/распределительный сервер, на котором осуществляется их слияние. Так как на разных серверах могут быть обновлены одни и те же строки, то производится разрешение конфликтов по заданному критерию. Результатом разрешения конфликта является выбор среди конкурирующих значений для одного и того же атрибута данных единственного доминирующего значения. В качестве таких критериев традиционно применяются следующие:
приоритет сервера. В качестве доминирующего выбирается значение, соответствующее серверу, имеющему наивысший приоритет;
момент обновления данных. Доминирующим объявляется наиболее позднее либо наиболее раннее значение элемента данных;
вычисление агрегирующего значения. В качестве доминирующего значения выбирается минимальное, максимальное, суммарное либо среднее значение элемента данных;
принятие решения пользователем о выборе доминирующего значения.
Рис. 6.24. Схема репликации слиянием
Транзакционная
репликация
отличается от мгновенной репликации
тем, что на серверы-подписчики передаются
только измененные значения элементов
данных. Это приводит к существенному
уменьшению объема передаваемой
информации, но к увеличению частоты
обмена данными между публикующим
сервером и локальными серверами-подписчиками.
Для реализации этого вида репликации
применяются следующие агенты
репликации. Агент
чтения протокола
производит мониторинг журнала
транзакций на публикующем сервере и
выделяет записи, соответствующие
выполнению SQL
-операторов, осуществляющих модификацию
данных, INSERT,
UPDATE,
DELETE.
Измененные значения передаются на
распределительный сервер и размещаются
в служебной базе данных. Распределительный
агент
производит передачу измененных данных
на серверы-подписчики.
Рис. 6.25. Схема транзакционной репликации