Программирование >>  Программирование баз данных 

1 ... 228 229 230 [ 231 ] 232 233 234 ... 346




Издатель

Подписчик



Распределитель

Подписчик



Издатель Подписчик

Рис. 20.1. Структурная схема системы репликации

Подписчик

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

Подписки

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

Распространение подписок может быть организовано так, что инициатором доставки изменений является распределитель (так называемая push-подписка) или подписчик {pull-подписка).

При использовании push-подписок задача определения времени доставки обновлений подписчику полностью возложена на издателя/распределителя.



Этот вариант распространения изменений используется наиболее часто, если требуется свести изменения к минимуму (дело в том, что во многих системах единственной базой данных, получающей все изменения от издателей, является база данных издателя/распределителя, поэтому имеет смысл организовать работу так, чтобы именно распределитель контролировал все изменения и активизировал действия по их распространению) или если требуется обеспечить полный контроль над работой издателя/распределителя по какой-то другой причине.

С другой стороны, при использовании pull-подписок (называемых также подписками по требованию) обновления запрашивает подписчик. Такой вариант распространения изменений позволяет обеспечить повышение уровня автономности, поскольку решения о том, когда должны произойти обновления, принимаются подписчиком.

Распределителем могут одновременно поддерживаться и push- и pull-подписки, но каждый конкретный подписчик может использовать только один из этих вариантов подписки, поскольку возможность распространять одну и ту же публикацию и по инициативе распределителя, и по требованию подписчика не предусмотрена.

Типы подписчиков

в СУБД SQL Server поддерживаются три типа подписчиков, описанных ниже.

По умолчанию применяются локальные подписчики. Характерная особенность такого подписчика состоит в том, что единственным сервером, который знает о его существовании, является непосредственно связанный с ним издатель/распределитель. Чаще всего подписчики определяются как локальные, если требуется обеспечить повышение безопасности или добиться более высокой степени автономности серверов.

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

Анонимными подписчиками называются такие подписчики, которые рассматриваются издателем/распределителем как существующие только во время действия соединения, установленного подписчиком. Такой вариант работы подписчика может применяться в приложениях, действующих на основе технологии Интернета.

Выборка данных по условию

в СУБД SQL Server предусмотрена возможность осуществлять выборку данных по условию с разбиением таблиц по горизонтали или по вертикали. При использовании выборки данных по условию с разбиением таблицы по горизонтали (для обозначения такого способа обработки данных применяется также термин секционирование по горизонтали) данные, подлежащие публикации, определяются как строки таблицы (с помощью конструкции WHERE). Это позволяет, например, осуществлять выборку информации о запасах, имеющихся на отдельных складах, чтобы иметь возможность



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

Модели репликации

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

Степень автономности. Зависит от того, имеются ли постоянные соединения между участниками системы репликации. Не менее важным фактором является пропускная способность соединений. Кроме того, необходимо учитывать, какое максимальное количество транзакций должно участвовать в репликации.

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

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

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

Репликация снимков.

Репликация путем слияния.

Транзакционная репликация.

В следующих разделах рассматриваются преимущества и недостатки каждой модели репликации, описаны условия их применения и указано, с какими проблемами целостности данных приходится сталкиваться при использовании этих моделей.

Следует отметить, что допускается возможность применять совместно и комбинировать различные модели репликации по мере необходимости, в соответствии с конкретными требованиями к реализации. Например, в некоторых системах репликации



1 ... 228 229 230 [ 231 ] 232 233 234 ... 346

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.487
При копировании материалов приветствуются ссылки.
Яндекс.Метрика