Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции БД, ИС, ИТ (Беликова).doc
Скачиваний:
104
Добавлен:
27.05.2013
Размер:
528 Кб
Скачать
☆

6. Распределенные ис. Управление распределенными данными. Доступ к общим данным. Технологии объектного связывания данных. Технологии реплицирования данных.

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

Монопольный доступ обычно используется в двух случаях:

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

  • когда производятся ответственные операции с БД, не допускающие других действий.

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

Во втором случае пользователь тоже может установить явную блокировку, либо положиться на СУБД. СУБД обычно автоматически устанавливает неявную (без ведома пользователя или приложения) блокировку, если это необходимо.

В режиме коллективного доступа полная блокировка на используемые объекты, как правило, не устанавливается. Коллективный доступ возможен, например, при одновременном просмотре таблиц. Попытки получить монопольный доступ к объектам коллективного доступа должны быть пресечены.

Для организации коллективного доступа к СУБД применяется механизм блокировок. Суть блокировки состоит в том, что на время выполнения какой-либо операции в БД доступ к используемому объекту со стороны других потребителей временно запрещается или ограничивается. Например, при копировании таблицы она блокируется от изменений, хотя и разрешено просматривать ее содержимое.

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

  • полная блокировка;

  • блокировка от записи; строгость огранич.

  • предохраняющая блокировка от записи;

  • предохраняющая полная блокировка.

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

Блокировка от записи. Накладывается в случаях, когда можно использовать таблицу, но без изменения ее структуры или содержимого. Такая блокировка применяется, например, при выполнении операции слияния данных из двух таблиц.

Предохраняющая блокировка от записи. Предохраняет объект от наложения на него со стороны других операций полной блокировки, либо блокировки от записи. Этот вид блокировки позволяет тому, кто раньше “захватил” объект, успешно завершить модификацию объекта. Примером необходимости использования этой блокировки является режим совместного редактирования таблицы несколькими пользователями.

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

При незавершенной операции с некоторым объектом и запросе на выполнение новой операции с этим же объектом производится попытка эти операции совместить. Совмещение возможно тогда, когда совместными оказываются блокировки, накладываемые конкурирующими операциями.

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

  • полная блокировка несовместима ни с какой другой блокировкой;

  • блокировка от записи совместима с аналогичной блокировкой и предохраняющей полной блокировкой;

  • предохраняющая блокировка от записи совместима с обеими видами предохраняющих блокировок;

  • предохраняющая полная блокировка совместима со всеми блокировками, кроме полной блокировки.

Существуют два основных вида тупиков: взаимные и односторонние.

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

Технологии объектного связывания данных.

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

Решение этой задачи основывается на поддержке современ­ными «настольными» СУБД (МS Ассess, МS FохРго, dВаsе и др.) технологии «объектов доступа к данным» — DAO. При этом следует отметить, что под объектом понимается интегра­ция данных и методов их обработки в одно целое. СУБД, поддерживаю­щие DAO, получают возможность внедрять и оперировать в локальных базах объектами доступа к данным, физически на­ходящимся в других файлах, возможно, на других вычислитель­ных установках и под управлением других СУБД.

Технически технология DAO основана на протоколе ODBS (Open Database Connectivity – интерфейс прикладного программирования в виде библиотеки функций, вызываемых из различных программных сред и позволяющих приложениям унифицировано обращаться на SQL к БД различных форматов), который принят за стандарт досту­па не только к данным на SQL-серверах клиент - серверных сис­тем, но и в качестве стандарта доступа к любым данным под управлением реляционных СУБД. Непосредственно для дос­тупа к данным на основе протокола ODBS используются ини­циализируемые на тех установках, где находятся данные, спе­циальные программные компоненты, называемые драйверами ODBS, или инициализируемые ядра тех СУБД, под управлени­ем которых были созданы и эксплуатируются внешние базы данных.

Во многих случаях узким местом распределенных систем, построенных на основе технологий «Клиент-сервер» или объек­тного связывания данных, является недостаточно высокая про­изводительность из-за необходимости передачи по сети боль­шого количества данных. Определенную альтернативу постро­ения быстродействующих распределенных систем предоставляют технологии реплицирования данных.

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

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

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

Реализация принципа непрерывного размножения обнов­лений заключается в том, что любая транзакция считается ус­пешно завершенной, если она успешно завершена на всех реп­ликах системы.

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

Решение проблемы согласованности структуры данных осуществля­ется через частичное отступление от принципа отсутствия центральной установки и основывается на технике «главной» реплики. Суть этой техники заключается в том, что одна из реплик базы данных системы объявляется главной. При этом изменять структуру базы данных можно только в главной реплике. Эти изменения структуры данных тиражируются на основе прин­ципа отложенных обновлений, т. е. через специальную синхро­низацию реплик. Частичность отступления от принципа отсут­ствия центральной установки заключается в том, что в отличие от чисто централизованных систем, выход из строя главной реплики не влечет сразу гибель всей распределенной системы, так как остальные реплики продолжают функционировать ав­тономно. Более того, на практике СУБД, поддерживающие тех­нологию реплицирования, позволяют пользователю с опреде­ленными полномочиями (администратору системы) преобра­зовать любую реплику в главную и тем самым полностью восстановить работоспособность всей системы.

5. Информационные технологии (Беликова М.А.).