Технология распределенной БД (технология STAR)
Системы распределенных БД состоят из набора узлов, связанных вместе коммуникационной сетью, в которой: 1) каждый узел обладает собственной системой БД; 2) узлы работают согласованно, поэтому пользователь может получить доступ к данным на любом узле сети, как будто все данные находятся на его собственном узле. Пример 7.5 Пусть БД «Склад» расположена на узле «узел_1», а БД «Предприятие» на узле «узел_2». В первой содержится таблицы Деталь, а во второй Поставщик. Пусть БД «Номенклатура» должна включать таблицы Деталь и Поставщик, физически принадлежащие различным БД. Логически она будет рассматриваться как нераспределенная БД. Следующие операторы SQL устанавливают ссылки на таблицы локальных БД. Они включены в в описание распределенной БД и передаются серверу БД. REGISTER TABLE Деталь AS LINK WITH NODE=узел_1, DATABASE=Склад; REGISTER TABLE Поставщик AS LINK WITH NODE=узел_2, DATABASE=Предприятие; Таким образом, при описании распределенной БД «Номенклатура» явно задаются ссылки на конкретные таблицы реально существующих БД, однако при работе с такой БД это физическое распределение прозрачно для пользователя. Наибольшую сложность при организации работы распределенной БД вызывает решение следующих задач: · управление именами в распределенной среде; · оптимизация распределенных запросов; · управления распределенными транзакциями. Задачи рассмотрены выше. Решение этих трех задач возложено на специальный компонент СУБД – сервер распределенных баз данных (Distributed Database Server). Возможны следующие варианты организации работы распределенной БД: 1) Если БД расположена на одном узле и прикладная программа выполняется там же, то не требуется ни коммуникационный сервер, ни сервер распределенных БД. 2) Когда же прикладная программа выполняется на локальном узле, БД находится на удаленном узле и там же выполняется сервер БД, то на удаленном узле необходим коммуникационный сервер, а на локальном – сервисная коммуникационная программа. 3) Если же распределенная БД состоит из таблиц локальных БД, которые находятся на одном узле, и там же функционирует сервер распределенной БД, и выполняется прикладная программа, то коммуникационный сервер не нужен, так как нет взаимодействия по сети. 4) Если же локальные БД расположены на нескольких узлах, то для доступа к распределенной БД необходим и сервер распределенной БД, и коммуникационный сервер Главное требование технологии STAR - синхронное завершение транзакций одновременно на нескольких узлах распределенной системы, то есть синхронная фиксация изменений в DDB. Уязвимым местом этой технологии являются - жесткие требования к производительности и надежности каналов связи. Если база данных распределена по нескольким территориально удаленным узлам, объединенным медленными и ненадежными каналами связи, а число одновременно работающих пользователей составляет сотни и выше, то вероятность того, что распределенная транзакция будет зафиксирована в обозримом временном интервале, становится чрезвычайно малой. В таких условиях (характерных, кстати, для большинства отечественных организаций) обработка распределенных данных практически невозможна.
|