Распределенная обработка данных. Найханова Л.В. - 25 стр.

UptoLike

Составители: 

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