Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция № 10 ИС в сетях.doc
Скачиваний:
8
Добавлен:
20.09.2019
Размер:
210.43 Кб
Скачать

5.3. Управление распределенными данными

Управление данными в распределенных системах связано с решением двух проблем:

  • поддержка соответствия базы данных вносимым изменениям;

  • обеспечение совместного доступа нескольких пользователей к общим данным.

Поддержка соответствия базы данных вносимым изменениям

В современных распределенных системах информация хранится централизовано или децентрализовано. При централизованном хранении проблемы идентичности представления информации для всех пользователей не существует, т.к. все последние изменения хранятся в одном месте. При децентрализованном хранении информация хранится и одновременно изменяется в нескольких узлах распределенной вычислительной системы. В этом случае возникает проблема контроля за всеми изменениями информации и предоставления ее в достоверном виде всем пользователям.

Существует две технологии децентрализованного управления базами данных:

  • распределенных БД (Distributed Database);

  • тиражирования или репликации БД (Data Replication).

Распределенная база данных состоит из нескольких фрагментов, размещенных на разных узлах сети и, возможно, управляемых разными СУБД. Программами и пользователями распределенная база данных воспринимается как единая локальная база данных (рис. 5.6).

Информация о местоположении каждой из частей распределенной базы данных и другая служебная информация хранится в так называемом глобальном словаре данных. Словарь может храниться на одном из узлов или быть распределенным. Для обеспечения корректного доступа к распределенной БД чаще всего применяется протокол (метод) двухфазной фиксации транзакций (two-phase commit). Суть метода – двухэтапная синхронизация выполняемых изменений на всех задействованных узлах. На первом этапе в узлах сети производятся изменения (пока обратимые) в их базах данных, о чем посылаются уведомления компоненту системы, управляющему обработкой распределенных транзакций. На втором этапе, получив от всех узлов сообщения о правильности выполнения операций (что свидетельствует об отсутствии сбоев и отказов аппаратно-программного обеспечения), управляющий компонент выдает всем узлам команду фиксации изменений. После этого транзакция считается завершенной, а ее результат необратимым.

БД БД

Пересылка запросов

. . . и ответов на них . . .

запросы запросы

БД

. . .

запросы

Рис. 5.6. Модель распределенной базы данных

Достоинства модели распределенной базы данных:

  • пользователи всех узлов получают информацию с учетом всех последних изменений;

  • экономное использование внешней памяти компьютеров, что позволяет организовывать базы данных больших объемов.

Недостатки модели распределенной базы данных:

  • жесткие требования к производительности и надежности каналов связи;

  • большие затраты коммуникационных и вычислительных ресурсов из-за их связывания на все время выполнения транзакций;

  • при интенсивных обращениях к распределенной базе данных, большом числе взаимодействующих узлов, низкоскоростных и ненадежных каналах связи обработка запросов по этой схеме становится практически невозможной.

Модель тиражирования данных предполагает дублирование данных (создание точных копий) в узлах сети (рис. 5.7).

БД БД

Пересылка

. . . изменений в БД . . .

запросы запросы

БД

. . .

запросы

Рис. 5.7. Модель тиражирования базы данных

Данные всегда обрабатываются как обычные локальные. Поддержку идентичности копий друг другу в асинхронном режиме обеспечивает компонент системы, называемый репликатором (replicator). Между узлами сети могут передаваться отдельные изменения или группы изменений. В течение некоторого времени копии базы данных могут отличаться друг от друга.

Достоинства модели тиражирования базы данных (в сравнении с предыдущей):

  • более высокая скорость доступа к данным, т.к. они всегда есть в узле;

  • существенное уменьшение передаваемого по каналам связи потока информации, поскольку происходит передача не всех операций доступа к данным, а только изменений в базе данных;

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

Недостаток модели тиражирования базы данных – на некотором интервале времени возможно «расхождение» копий БД. Если этот недостаток не критичен для прикладных задач, то схема с тиражированием базы данных более предпочтительна.