Поделиться через


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

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Microsoft SQL Server предоставляет следующие типы репликации для использования в распределенных приложениях:

Тип Description
Репликация транзакций Изменения на издателе доставляются подписчику по мере их появления (почти в реальном времени). Изменения данных применяются на подписчике в том же порядке и в тех же рамках транзакций, в которых они выполнялись у издателя.
Репликация слиянием Данные можно изменять как на издателе, так и на подписчике, а также отслеживать с помощью триггеров. Подписчик синхронизируется с издателем при подключении к сети и обменивается с ним всеми строками, которые изменились со времени последней синхронизации издателя и подписчика.
Репликация моментальных снимков Моментальный снимок издателя применяется к подписчику. Данные распространяются точно в том виде, в котором они были представлены в определенный момент времени. Обновление данных не отслеживается. Во время синхронизации формируется моментальный снимок и отсылается подписчикам целиком.
Одноранговая репликация Одноранговая репликация, основанная на репликации транзакций, распространяет согласованные на уровне транзакций изменения между несколькими экземплярами сервера почти в реальном времени.
Двунаправленная репликация Двунаправленная репликация транзакций представляет собой особую топологию репликации транзакций, которая позволяет двум серверам обмениваться изменениями друг с другом: каждый сервер публикует данные, после чего подписывается на публикацию с теми же данными от другого сервера.
Обновляемые подписки Основаны на репликации транзакций. Когда данные для обновляемой подписки обновляются на подписчике, они сначала распространяются на издателя, а затем на других подписчиков.

Тип репликации, которая выбирается для приложения, зависит от многих факторов, в том числе от физической среды репликации, типа и объема реплицируемых данных, а также от того, обновляются данные на подписчике или нет. Физическая среда включает в себя количество и расположение компьютеров, участвующих в репликации, и зависит от того, являются эти компьютеры клиентами (рабочие станции, переносные или карманные компьютеры) или серверами.

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