Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диго С.М. Базы данных проектирование и использование.doc
Скачиваний:
720
Добавлен:
14.05.2016
Размер:
12.04 Mб
Скачать

10.6. Обеспечение целостности и безопасности данных в рбд

10.6.1. Особенности обеспечения целостности в рбд

Существует ряд проблем обеспечения ограничений целостно­сти распределенной БД, помимо тех аспектов, которые присущи лю­бым БД:

  1. возможность одновременного доступа нескольких пользовате­лей к одной и той же информации (особенно если эти обращения к БД - корректирующие);

  2. физический разброс отдельных частей БД по разным компью­терам;

  3. разнотипность источников информации.

Первая проблема имеет место в любых РБнД, вторая - если база данных является распределенной, третья - если система является ге­терогенной.

Первая группа проблем в области обеспечения целостности в рас­пределенных БнД обусловлена в основном возникновением опаснос­ти искажения данных при их одновременной корректировке разными пользователями. В зависимости от способа организации БД пробле­ма приобретает специфические черты, обусловленные используемой технологией обработки данных. Так, проблема обеспечения целост­ности данных будет по-разному решаться при корректировке единой централизованной БД, при работе с несколькими разными копиями БД (репликами) или при работе с распределенной базой данных, от­дельные части которой не дублируют друг друга.

Возможны разные схемы обеспечения целостности данных при выполнении корректирующих обращений в многопользовательском режиме:

  • запрещение корректировки информации, если ее корректирует другой пользователь (блокировка);

  • корректировка разных копий информационных единиц и пос­ледующее устранение возникающих коллизий.

Если СУБД предоставляет возможность выбора способа обес­печения целостности при многопользовательских обращениях, то на результат этого выбора будут влиять многие факторы, в том числе:

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

  • ограничения на время реакции системы,

  • требования к актуальности и непротиворечивости данных в каж­дый момент времени;

  • характеристика технических средств.

Вторая группа проблем обеспечения целостности в распределен­ных системах вызвана распределением данных и, как следствие, распределением процедур их обработки, т.е. это проблемы, обусловлен­ные именно разнесением данных на разные узлы системы.

Как известно, существует два подхода к обеспечению целостнос­ти в распределенных информационных системах - строгая целост­ность (tight consistency) и нестрогая целостность (loose consistency). Первый вариант гарантирует целостность данных в любой момент времени, например, с помощью двухфазного протокола фиксаций (2РС). Обеспечение строгой целостности требует высокого качества коммуникаций, поскольку все узлы должны быть постоянно доступ­ны. Второй подход допускает наличие временной задержки между внесением изменений в публикуемую базу и их отражением на узлах подписчиков.

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

Механизм двухфазной фиксации транзакции имеет ряд недостатков:

  • захват всех необходимых данных на всех серверах может на­долго заблокировать доступ к данным;

  • велика вероятность отказа от обновления из-за какой-нибудь, пусть единичной, ошибки;

  • если какой-либо сервер или выход в глобальную сеть окажется недоступным, произойдет потеря транзакции;

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

  • сложность обработки транзакции при использовании этого про­токола сама служит источником дополнительного трафика, что уве­личивает время реакции системы.

Кроме того, недостаточная пропускная способность сети и малая скорость передачи данных могут увеличить время реакции до недо­пустимого уровня.

Разные СУБД поддерживают разные технологии обеспечения це­лостности.