Главная Обратная связь

Дисциплины:






Терминология системы репликации



· Распространитель(distributor) — главный участник системы реплакации, осуществялющий обмен данными между издателем и подписчиками. В БД распространителя, по умолчанию она называется Distribution, хранятся основные настройки репликации. Распространителем может выступать только SQL Server.

· Издатель (publisher) — это источник данных для репликации. Издателем в системе репликации SQL Server 2008 может выступать либо экземпляр SQL Server 2008, SQL Server 2000 или SQL Server 7.0, или сервер Oracle.

· Подписчик (subscriber) — сервер, принимающий данные с издателя. Подписчиком могут быть как серверы SQL Server, так и другие серверы баз данных (например, Oracle или IBM DB2).

· Статья (article) — это данные какой-либо таблицы или представления на издателе. Поддерживается горизонтальная и\или вертикальная фильтрация данных, включаемых в статью.

· Публикация (publications) — это объединение одной или нескольких статей одной БД, рассматриваемое как единое целое. Подписчики подписываются именно на публикацию. Подписаться на часть публикации нельзя.

· Подписка (subscription) — это запрос на получение публикации. Она определяет, какую публикацию запрашивает подписчик и с какой частотой. Подписки могут быть двух видов: принудительная (push), в этом случае передачу информации инициирует издатель, и запрашивающая (pull), в качестве инициатора выступает подписчик.

Процесс репликации осуществляется специальными программными модулями, называемыми агентами репликации. Существует пять основных агентов:

1. Snapshot Agent — задачей этого программного модуля является создание моментальных снимков (snapshots). Моментальный снимок — это полная копия информации (и структура, и данные), которая содержится в публикации, на определенный момент времени;

2. Log Reader Agent — этот модуль осуществляет мониторинг журнала транзакций на издателе и заносит информацию о всех транзакциях, которые затрагивают информацию в публикации, в базу данных Distribution. Затем эта информация передается подписчику, где используется для изменения его таблиц;

3. Distribution Agent — этот программный модуль осуществляет физическое перемещение моментальных снимков и информации о транзакциях подписчикам и применяет к ним эту информацию. Для принудительных (pull) подписок этот программный модуль работает на распространителях, а для запрашивающих (pull) подписок — на подписчиках;

4. Merge Agent — этот программный модуль при репликации слиянием выполняет функции Distribution Agent. Кроме того, он также ответственен за разрешение конфликтов репликации, которые могут возникнуть при использовании этого типа репликации;



5. Queue Reader Agent — этот агент используется только при репликации транзакций с использованием очередей. Его задача — считывать из очереди сообщения, получаемые с подписчика и передавать их издателю для выполнения различных операций.

Помимо перечисленного набора в репликации SQL Server 2008 используется еще несколько агентов, которые в основном предназначены для удаления устаревшей информации.

Для запуска агентов репликации по расписанию используются задания SQL Server Agent. Для каждого агента сохраняется история работы, которую можно использовать для диагностики проблем.

Типы репликации

1. Репликация моментальных снимков (snapshot replication) — тип репликации, когда информация на подписчике через определенные интервалы времени перезаписывается информацией с издателя. Никакого отслеживания происходящих изменений при этом не происходит. Этот тип репликации обычно используется в ситуации, когда нужно передавать небольшой объем данных, и эти данные изменяются достаточно сильно.

2. Репликация транзакций (transactional replication) — при использовании этого типа репликации вначале к подписчику применяется моментальный снимок исходных данных с издателя («инициализация» подписчика), а затем через определенные интервалы подписчику передается и применяется информация об произошедших на издателе изменениях — транзакциях. Для репликации транзакций предусмотрены специальные подтипы, которые позволяют настроить режимы репликации, отличные от стандартного:

a. репликация транзакций с возможностью внесения изменений на подписчике. Заметим, что если на подписчике изменения нужно вносить постоянно, то, возможно, в этой ситуации лучше подойдет репликация слиянием. При настройке репликации транзакций с возможностью внесения изменений на подписчиках нам нужно будет выбрать один из двух режимов предупреждения издателя о таких изменениях:

· немедленное извещение об изменениях (immediate updating). При выборе этого режима должно существовать постоянно доступное сетевое соединение между издателем и подписчиком;

· извещение об изменениях с использованием очередей (queued updating). Информация о внесенных на подписчиках изменениях помещается в очередь и по определенному расписанию передается на издателя, который уведомляет о них остальных подписчиков. Постоянно доступное сетевое соединение при этом не нужно.

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

3. Репликация слиянием (merge replication) — при использовании этого типа репликации изменения можно вносить как на издателе, так и на подписчиках. Все изменения с помощью триггеров сводятся воедино на издателе, который разрешает конфликты в случае их возникновения. Для разрешения конфликтов репликации можно определить свою собственную программную логику. Затем итоговый вариант данных передается подписчикам.





sdamzavas.net - 2017 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...