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

UptoLike

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

34
Лондоне, то он будет немедленно найден. Однако, если он перемещен, например в Лос-
Анджелес, в таком случае это будет указано в элементе каталога Лондона. Благодаря
такой организации система теперь может опросить каталог Лос-Анджелеса (второй
удаленный доступ), который согласно пункту 2 будет содержать элемент для искомого
объекта. Таким образом, этот объект будет найден, по крайней мере, с помощью двух
попыток удаленного доступа.
Более того, при очередной миграции объекта, например в Сан-Франциско, в системе
будут выполнены следующие действия:
Вставлен элемент каталога Сан-Франциско.
Удален элемент каталога Лос-Анджелеса.
Элемент каталога Лондона, указывающий на Лос-Анджелес, будет заменен эле-
ментом каталога, указывающим на Сан-Франциско.
Общий эффект от их выполнения заключается в том, что объект снова может быть
найден с помощью всего лишь двух попыток удаленного доступа. К тому же такая
система является действительно распределенной, так как в ней нет каталога на цен-
тральном узле, а также не существует никакой другой возможности для глобального краха
системы.
Следует отметить, что в модуле распределенной работы в системе DB2 используется
схема именования объектов, похожая на описанную выше, но не идентичная ей.
Распространение обновления
Как указывалось выше, основной проблемой репликации данных является то, что об-
новление любого логического объекта должно распространяться на все хранимые копии
этого объекта. Трудности возникают из-за того, что некоторый узел, содержащий данный
объект, может быть недоступен (например, из-за краха системы или данного узла) именно
в момент обновления. В таком случае очевидная стратегия немедленного распространения
обновлений на все копии может оказаться неприемлемой, поскольку предполагается, что
обновление (а значит, и исполнение транзакции) будет провалено, если одна из этих
копий будет недоступна в текущий момент. В некотором смысле, при использовании
такой стратегии данные действительно будут менее доступны, чем при их использовании
в нереплицированном виде. Таким образом, существенно подрывается одно из
преимуществ репликации, упомянутое в предыдущем разделе.
Общая схема устранения этой проблемы (и не единственно возможная в этом слу-
чае), называемая схемой первичной копии, описана ниже.
Одна копия каждого реплицируемого объекта называется первичной копией, а все
остальные - вторичными.
Первичные копии различных объектов находятся на различных узлах (таким
образом, эта схема является распределенной).
Операции обновления считаются завершенными, если обновлены все первичные
копии. В таком случае в некоторый момент времени узел, содержащий такую ко-
пию, несет ответственность за распространение операции обновления на вторич-
ные копии. Однако поскольку свойства транзакции АСИД (атомарность, согласо-
ванность, изоляция, долговечность) должны выполняться, то подразумевается,
что "некоторый момент" времени предшествует завершению исполнения
транзакции.
Конечно, данная схема приводит к некоторым дополнительным проблемам.
Обратите внимание, что эти проблемы приводят к нарушению требования локальной
автономии, поскольку даже если локальная копия остается доступной, выполнение
транзакции может потерпеть неудачу из-за недоступности удаленной (первичной) копии
некоторого объекта.
Под требованием атомарности транзакции подразумевается, что распространение
всех операций обновления должно быть закончено до завершения соответствующей
Лондоне, то он будет немедленно найден. Однако, если он перемещен, например в Лос-
Анджелес, в таком случае это будет указано в элементе каталога Лондона. Благодаря
такой организации система теперь может опросить каталог Лос-Анджелеса (второй
удаленный доступ), который согласно пункту 2 будет содержать элемент для искомого
объекта. Таким образом, этот объект будет найден, по крайней мере, с помощью двух
попыток удаленного доступа.
     Более того, при очередной миграции объекта, например в Сан-Франциско, в системе
будут выполнены следующие действия:
     • Вставлен элемент каталога Сан-Франциско.
     • Удален элемент каталога Лос-Анджелеса.
     • Элемент каталога Лондона, указывающий на Лос-Анджелес, будет заменен эле-
        ментом каталога, указывающим на Сан-Франциско.
     Общий эффект от их выполнения заключается в том, что объект снова может быть
найден с помощью всего лишь двух попыток удаленного доступа. К тому же такая
система является действительно распределенной, так как в ней нет каталога на цен-
тральном узле, а также не существует никакой другой возможности для глобального краха
системы.
     Следует отметить, что в модуле распределенной работы в системе DB2 используется
схема именования объектов, похожая на описанную выше, но не идентичная ей.

     Распространение обновления
      Как указывалось выше, основной проблемой репликации данных является то, что об-
новление любого логического объекта должно распространяться на все хранимые копии
этого объекта. Трудности возникают из-за того, что некоторый узел, содержащий данный
объект, может быть недоступен (например, из-за краха системы или данного узла) именно
в момент обновления. В таком случае очевидная стратегия немедленного распространения
обновлений на все копии может оказаться неприемлемой, поскольку предполагается, что
обновление (а значит, и исполнение транзакции) будет провалено, если одна из этих
копий будет недоступна в текущий момент. В некотором смысле, при использовании
такой стратегии данные действительно будут менее доступны, чем при их использовании
в нереплицированном виде. Таким образом, существенно подрывается одно из
преимуществ репликации, упомянутое в предыдущем разделе.
      Общая схема устранения этой проблемы (и не единственно возможная в этом слу-
чае), называемая схемой первичной копии, описана ниже.
      • Одна копия каждого реплицируемого объекта называется первичной копией, а все
         остальные - вторичными.
      • Первичные копии различных объектов находятся на различных узлах (таким
         образом, эта схема является распределенной).
      • Операции обновления считаются завершенными, если обновлены все первичные
         копии. В таком случае в некоторый момент времени узел, содержащий такую ко-
         пию, несет ответственность за распространение операции обновления на вторич-
         ные копии. Однако поскольку свойства транзакции АСИД (атомарность, согласо-
         ванность, изоляция, долговечность) должны выполняться, то подразумевается,
         что "некоторый момент" времени предшествует завершению исполнения
         транзакции.
      Конечно, данная схема приводит к некоторым дополнительным проблемам.
Обратите внимание, что эти проблемы приводят к нарушению требования локальной
автономии, поскольку даже если локальная копия остается доступной, выполнение
транзакции может потерпеть неудачу из-за недоступности удаленной (первичной) копии
некоторого объекта.
      Под требованием атомарности транзакции подразумевается, что распространение
всех операций обновления должно быть закончено до завершения соответствующей
34