РАСПРЕДЕЛЕННЫЕ БАНКИ ДАННЫХ

РАСПРЕДЕЛЕННЫЕ БАНКИ ДАННЫХ

Основные понятия

 

Будем различать понятия «распределенные банки данных» (РБнД) и «распределенные базы данных» (РБД).

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

Распределенная база данных (DDB - Distributed DataBase) - это совокупность множества взаимосвязанных баз данных, распределен­ных в компьютерной сети. РБД распределена физически, но логиче­ски - едина (имеет общую схему данных).

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

Сервер баз данных - СУБД, основанная на архитектуре «клиент-сервер».

Современным серверным СУБД присущи следующие характер­ные черты:

• реализация для различных платформ (UNIX, Windows, Linux);

• наличие административных утилит;

• резервное копирование данных;

• обслуживание репликаций;

• параллельная обработка данных в многопроцессорных системах;

• поддержка OLAP и создания хранилища данных (многие произ­водители серверных СУБД поставляют такие серверы отдельно (Oracle, Informix), некоторые включают их в состав сервера реляци­онных БД (MS SQL Server 7.0 и выше));

• распределенные запросы и транзакции;

• использование средств проектирования БД (универсальных или
ориентированных на конкретную СУБД);

• поддержка доступа к данным через Интернет.

К распределенным системам помимо требований, предъявляемых ко всем ИС, выдвигаются дополнительные требования:

• независимость от расположения данных;

• независимость от СУБД, ОС и аппаратного обеспечения;

• максимальная автономия.

При работе в РБнД возникают дополнительные проблемы. При­чинами, вызывающими эти проблемы, являются:

• параллельное одновременное обращение пользователей к БД;

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

• распределение данных между компьютерами;

• авторизация пользователей и распределение ролей между ними;

• неоднородность отдельных компонентов.

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

 

 

РБнД реализуются в компьютерных сетях, причем это могут быть как локальные, так и глобальные сети. Вид сети, используемые сете­вые операционные системы, безусловно, оказывают существенное вли­яние на проектирование pi функционирование РБнД, но классифика­ция систем по этим признакам выходит за рамки данного учебника.

Как пояснялось при введении понятия РБнД, предполагается, что в РБнД базы данных могут быть как централизованными, так и рас­пределенными. В РБнД с распределенными базами данных исполь­зуются разные технологии распределения данных по узлам сети. Раз­личают подходы, основанные на фрагментации БД и на тиражирова­нии данных.

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

В РБД могут использоваться разные типы фрагментации. По опе­рациям над таблицами различают горизонтальное, вертикальное и смешанное фрагментирование. Разбиение БД на фрагменты может проводиться по разным признакам. Наиболее часто используются следующие критерии разбиения: территориальный, функциональный, временной.

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

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

При сравнении децентрализованных и распределенных систем (табл. 10.2) знаком «+» отмечены лучшие значения характеристики.

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

 

 

Та б л и ца 10.2

 

Характеристика Система
децентрализованная распределенная
Возможность совместного использования данных   Сложность используемых программных средств Возможность централизованного обеспечения целостности данных   Сложность проектирования   Сложность поддержания безопасности   Гибкость и эффективность использования вычислительных ресурсов     +     + +   +   +   +

 

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

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

 

Таблица 10.3

 

Характеристика Система
централизо­ванная распреде­ленная
Сложность используемых программных средств   Уязвимость БД   Потери на непроизводительные (накладные) расходы   Ограничение пропускной способности   Модульность, возможность расширения системы   Сложность проектирования   Сложность поддержания актуальности БД   Сложность поддержания целостности БД Сложность поддержания безопасности   Возможность уменьшения сетевого трафика   Распределение рабочей нагрузки естествен­ным образом на несколько компьютеров Соотношение показателя «стоимость/ эффективность» Требования к аппаратной платформе   Сложность администрирования +   +     +   +   + +   +   +   +   +     +   +   +   +  

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

На выбор способа организации БД оказывают влияние следую­щие факторы:

• число пользователей;

• степень пересечения информационных потребностей пользова­телей;

• объем данных;

• квалификация персонала;

• ограничения (стоимость, время отклика, актуальность инфор­мации);

• наличие существующей системы обработки информации и ее

характеристика.

 

Транзакции

Понятие транзакции

Понятие транзакция широко используется в АИС и может отно­ситься не только к распределенным банкам данных. Однако в РБнД оно становится особенно… К транзакциям предъявляется набор требований, известный под названием ACID… Атомарность(atomicity). Транзакция представляет собой некото­рый набор законченных действий. Система обеспечивает их…

Блокировки

Рис. 10.6. Классификация блокировок   Блокировки накладываются в соответствии с правилами совмес­тимости блокировок, исключающими конфликты чтение-запись,…

Режимы доступа к информации

Эти же виды блокировок могут быть использованы и при блоки­ровании других информационных единиц, например записи. Выбор вида блокировки и…