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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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