ВУЗ:
Составители:
Рубрика:
25
NL_EMP AT SITE 'New York'
Обратите внимание на внутренние системные имена реплик NL_EMP и LN_EMP.
Нью-Йорк Лондон
N_EMP
L_EMP
EMP# DEPT# SALARY EMP# DEPT# SALARY
E1 D1 40K E3 D2 30K
E2 D1 42K E4 D2 35K
E5 D3 48K
NL_EMP
LN_EMP
EMP# DEPT# SALARY EMP# DEPT# SALARY
E3 D2 30K E1 D1 40K
E4 D2 35K E2 D1 42K
(NL_EMP – реплика L_EMP) E5 D3 48K
(LN_EMP – реплика N_EMP)
Рис. 2.2. Пример репликации
Репликация полезна по крайней мере по двум причинам. Во-первых, благодаря ей
достигается большая производительность (приложения могут работать с локальными
копиями, не обмениваясь данными с удаленными узлами). Во-вторых, репликация также
позволяет обеспечить большую доступность. Реплицированный объект остается
доступным для обработки до тех пор, пока остается хотя бы одна его реплика. Главный
недостаток репликации заключается в том, что при обновлении заданного
реплицируемого объекта, все копии этого объекта также должны обновляться. Этот
недостаток называется проблемой распространения обновления, которая будет более
подробно описана ниже в этой главе.
Следует отметить, что репликация в распределенной системе представляет собой
особый вид воплощения идеи управляемой избыточности.
В идеальном случае репликация, как и фрагментация, должна быть "прозрачной для
пользователя". Иначе говоря, в системе, в которой поддерживается репликация данных,
должна также поддерживаться независимость от репликации (или прозрачность
репликации), т.е. пользователи, по крайней мере с логической точки зрения, должны
работать в таком режиме, как будто данные не реплицированы вовсе. Независимость от
репликации (так же как независимость от расположения и независимость от
фрагментации) весьма желательна, поскольку позволяет существенно упростить
пользовательские программы и терминальную деятельность. В частности, при этом
разрешается в любой момент создавать и удалять реплики в ответ на изменения
требований без отключения этих пользовательских программ и терминальной
деятельности.
Независимость от репликации подразумевает, что системный оптимизатор отвечает
за определение физического доступа именно к тем репликам, которые необходимы для
удовлетворения заданного пользовательского запроса.
В заключение следует отметить, что многие коммерческие программные продукты в
настоящее время предлагают такую форму репликации, которая не обеспечивает полной
независимости от репликации (т.е. она не полностью "прозрачна для пользователя"). К
этому вопросу мы еще вернемся при обсуждении проблемы распространения обновления
ниже в этой главе.
7. Обработка распределенных запросов
Здесь рассматриваются два важных и обширных вопроса.
1. Рассмотрим запрос "Получить сведения о находящихся в Лондоне поставщиках
NL_EMP AT SITE 'New York'
Обратите внимание на внутренние системные имена реплик NL_EMP и LN_EMP.
Нью-Йорк Лондон
N_EMP L_EMP
EMP# DEPT# SALARY EMP# DEPT# SALARY
E1 D1 40K E3 D2 30K
E2 D1 42K E4 D2 35K
E5 D3 48K
NL_EMP LN_EMP
EMP# DEPT# SALARY EMP# DEPT# SALARY
E3 D2 30K E1 D1 40K
E4 D2 35K E2 D1 42K
(NL_EMP – реплика L_EMP) E5 D3 48K
(LN_EMP – реплика N_EMP)
Рис. 2.2. Пример репликации
Репликация полезна по крайней мере по двум причинам. Во-первых, благодаря ей
достигается большая производительность (приложения могут работать с локальными
копиями, не обмениваясь данными с удаленными узлами). Во-вторых, репликация также
позволяет обеспечить большую доступность. Реплицированный объект остается
доступным для обработки до тех пор, пока остается хотя бы одна его реплика. Главный
недостаток репликации заключается в том, что при обновлении заданного
реплицируемого объекта, все копии этого объекта также должны обновляться. Этот
недостаток называется проблемой распространения обновления, которая будет более
подробно описана ниже в этой главе.
Следует отметить, что репликация в распределенной системе представляет собой
особый вид воплощения идеи управляемой избыточности.
В идеальном случае репликация, как и фрагментация, должна быть "прозрачной для
пользователя". Иначе говоря, в системе, в которой поддерживается репликация данных,
должна также поддерживаться независимость от репликации (или прозрачность
репликации), т.е. пользователи, по крайней мере с логической точки зрения, должны
работать в таком режиме, как будто данные не реплицированы вовсе. Независимость от
репликации (так же как независимость от расположения и независимость от
фрагментации) весьма желательна, поскольку позволяет существенно упростить
пользовательские программы и терминальную деятельность. В частности, при этом
разрешается в любой момент создавать и удалять реплики в ответ на изменения
требований без отключения этих пользовательских программ и терминальной
деятельности.
Независимость от репликации подразумевает, что системный оптимизатор отвечает
за определение физического доступа именно к тем репликам, которые необходимы для
удовлетворения заданного пользовательского запроса.
В заключение следует отметить, что многие коммерческие программные продукты в
настоящее время предлагают такую форму репликации, которая не обеспечивает полной
независимости от репликации (т.е. она не полностью "прозрачна для пользователя"). К
этому вопросу мы еще вернемся при обсуждении проблемы распространения обновления
ниже в этой главе.
7. Обработка распределенных запросов
Здесь рассматриваются два важных и обширных вопроса.
1. Рассмотрим запрос "Получить сведения о находящихся в Лондоне поставщиках
25
Страницы
- « первая
- ‹ предыдущая
- …
- 23
- 24
- 25
- 26
- 27
- …
- следующая ›
- последняя »
