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

4. Распределенные ис. Понятие распределенных ис, принципы их создания и функционирования. Техника представлений. Проблемы, связанные с практической реализацией техники представлений.

В основе распределенных АИС лежат две ос­новные идеи:

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

  • логически и физически распределенные данные, состав­ляющие и образующие общую базу данных.

Крис Дейт сформулировал основные принципы со­здания и функционированияраспределенных баз данных:

  • прозрачность расположения данных для пользовате­ля(для пользователя распределенная база дан­ных должна представляться и выглядеть точно так же, как и нераспределенная);

  • изолированность пользователей друг от друга(пользо­ватель должен «не чувствовать», «не видеть» работу других пользователей в тот момент, когда он изменяет, обновляет, уда­ляет данные);

  • синхронизация и согласованностьсостояния данных в любой момент времени.

Из основных вытекает ряд дополнительных принципов:

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

  • отсутствие центральной установки(следствие преды­дущего пункта);

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

  • непрерывность функционирования;

  • независимость от фрагментации данных;

  • независимость от реплицирования(дублирования) дан­ных (когда какая-либо таблица базы данных, или ее часть физически может быть представлена несколькими копиями, рас­положенными на различных установках, причем «прозрачно» для пользователя);

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

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

  • независимость от аппаратуры;

  • независимость от типа операционной системы;

  • независимость от коммуникационной сети;

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

Важнейшую роль в технологии создания и функциониро­вания распределенных баз данных играет техника «представ­лений»(Views).

Представлениемназывается сохраняемый в базе данных авторизованный глобальный запрос на выборку данных.

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

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

CREATE VIEW ИмяПредставления AS

SELECT …

FROM…

… ;

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

Авторизация представлений осуществляется применением команд (директив) GRANT,присутствующих в базовом переч­не инструкций языкаSQLи предоставляющих пол­номочия и привилегии пользователям:

GRANTSELECTONИмя ПредставленияTOИмяПользователя1, ИмяПользователя2, ...;

Соответственно директива REVOKEотменяет уставленные ранее привилегии.

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

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

Решение подобных проблем и практическая реализация распределенных ИС осуществляется че­рез отступление от некоторых рассмотренных выше принци­пов создания и функционирования распределенных систем.