Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BSBD_k_ekzamenu / Материал_к_билетам_6-10 / Билет_7_вопрос_2 / Распределенные_базы_данных.doc
Скачиваний:
14
Добавлен:
05.06.2015
Размер:
464.38 Кб
Скачать

6. Независимость от репликации

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

И LN_EMP.

REPLICATE N_EMP AS

LN_EMP AT SITE 'London’ ;

REPLICATE L_EMP AS

NL_EMP AT SITE 'New York' ;

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

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

Рис. 21.3. Пример репликации данных

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

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

Завершая подраздел, отметим, что многие коммерческие продукты в настоящее время поддерживают такой вид репликации, который we обеспечивает полной независимости от репликации, т.е. репликация будет не полностью "прозрачна для пользователя". Некоторые

дополнительные замечания по этому вопросу будут приведены в подразделе о распро­странении обновления в разделе 21.4.