Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsia_7.doc
Скачиваний:
4
Добавлен:
11.09.2019
Размер:
521.22 Кб
Скачать

16

Лекция 7

2.4. Восстановление распределенных баз данных

Для РСУБД разработаны протоколы, которые используются для обработки от­казов, возникающих в распределенной вычислительной среде.

В распределенной среде существуют четыре типа отказов:

  • потеря сообщения;

  • отказ линии связи;

  • аварийный останов одного из сайтов;

  • расчленение сети.

Потеря сообщений или неверная упорядоченность их поступления контролируется ис­пользуемым базовым сетевым протоколом. Поэтому можно считать, что существует прозрачность обработки этих ошибок для компонента передачи данных СУРБД. Рассмотрим остальные типы отказов.

Функционирование РСУБД в значительной мере зависит от надежного взаимодейст­вия всех узлов в сети.

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

На следующем рисунке исходная распределенная система состоит из пяти узлов(сайтов). В результате отказа линии связи между узлами(сайтами) 1 и 2 была расчленена на два фрагмента: сайты 1, 4, 5 и сайты 2, 3 — как показано на рис..

а) б)

Расчленение сети: а) исходное состояние сети до отказа; б) состояние сети после отказа линии связи .

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

  • сайт 2 не функционирует или нарушена работа сети;

  • отказ в линии связи;

  • имеет место расчленение сети;

  • сайт 2 в настоящее время перегружен и не способен ответить на посту­пившее сообщение в пределах установленного тайм-аута.

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

2.4.1 Распределенные протоколы восстановления

Как уже упоминалось выше, процессы восстановления в распределенных СУБД усложняются тем фактом, что соблюдение свойства атомарности требуется как в от­ношении локальных субтранзакций, так и всей глобальной транзакции в целом, Ме­ханизмы восстановления, описанные в разделе 17,3, гарантируют атомарность лишь субтранзакций, тогда как СУРБД необходимо гарантировать и атомарность всей гло­бальной транзакции. По этой причине в процедуры фиксации и отката транзакций необходимо внести такие изменения, которые не позволят глобальной транзакции зафиксировать или отменить результаты ее выполнения, пока все ее субтранзакции не будут успешно зафиксированы или отменены, Кроме того, модифицированные протоколы должны обрабатывать ситуации отказа сайта или линии связи таким об­разом, чтобы гарантировать, что отказ одного из сайтов не окажет влияния на обра­ботку данных на другом сайте, Другими словами, работоспособные сайты не должны оказаться заблокированными из-за отказа других сайтов. Протоколы, обеспечиваю­щие выполнение последнего требования, называются неблокирующими. В этом раз­деле мы рассмотрим два широко распространенных протокола фиксации транзакций, которые могут использоваться в среде СУРБД: протокол двухфазной фиксации тран­закций (2РС) и неблокирующий протокол трехфазной фиксации транзакций (ЗРС),

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]