Среда, 08.05.2024, 17:29

Вы вошли как Гость | Группа "Гости" | RSS
Главная Каталог статей
Меню сайта

Категории раздела
Администрирование информационных систем [44]
Операционные системы [0]
Архитектура [0]
Сети передачи данных [29]
ЭВМ [0]
Надежность информационных систем [0]
Безопасность [0]
Корпоративные информационные сети [6]

Liveinternet

Главная » Статьи » Информационные технологии » Сети передачи данных

Определение и основные характеристики распределенных БД

Распределённые базы данных (РБД) — совокупность логически взаимосвязанных баз данных,распределённых в компьютерной сети. РБД состоит из набора узлов, связанных коммуникационнойсетью, в которой:

а)каждый узел — это полноценнаяСУБД сама по себе;

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

Каждый узел сам по себе являетсясистемой базы данных. Любой пользователь может выполнить операции над даннымина своём локальном узле точно так же, как если бы этот узел вовсе не входил враспределённую систему. Распределённую систему баз данных можно рассматриватькак партнёрство между отдельными локальными СУБД на отдельных локальных узлах.

Фундаментальный принцип созданияраспределённых баз данных («правило 0»): Для пользователя распределённаясистема должна выглядеть так же, как нераспределённая система.

Фундаментальный принцип имеетследствием определённые дополнительные правила или цели. Таких целей всегодвенадцать:

Системы управления базами данных(СУБД) стали сегодня общепризнанным инструментом создания прикладныхпрограммных систем. Эти инструментальные средства постоянно совершенствуются ифирмы-разработчики СУБД внимательно следят за успехами своих конкурентов,пытаясь оперативно включить в свои пакеты новые функции, реализованные уконкурентов. Правда внутренняя архитектура СУБД не всегда позволяет сделать этоудачно [1,2].

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

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

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

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

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

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

В работе [3] дано следующееопределение распределенной БД: "Распределенная БД - это множество физическихбаз данных, которые выглядят для пользователя как одна логическая БД". Ксожалению на сегодняшний день ни одна СУБД полностью не реализует этоопределение. Наиболее близко к его реализации подошли следующие СУБД:

- InformixOn-Line фирмыInformix Software;

- IngresIntelligent Database фирмыIngres Corp;

- Oracle(version 7) фирмыOracle Corp;

- SybaseSystem 10 фирмыSybase Inc.

Хотя ни одна из этих 4 СУБДполностью не реализует все функции распределенной СУБД, однако каждая из нихреализует или в скором времени будет реализовывать поддержку работы сраспределенной БД.

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

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

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

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

Президент   фирмы   Alternative Technologies Макговерн сформулировал 13 основных функций,  которые  должна поддерживать распределенная СУБД [4]. Рассмотрим их подробнее.

1. РАСПРЕДЕЛЕННЫЙ СЛОВАРЬ(ДИРРЕКТОРИЯ) ДАННЫХ. В словаре содержится информация о типе данных, месте ихразмещения и о способе доступа к данным.

2. "ПРОЗРАЧНЫЙ ПРОТОКОЛ ДВУХФАЗНОй ФИКСАЦИИ ИЗМЕНЕНИЙ. Этот протокол обеспечиваетнепротиворечивость данных. При выполнении транзакции, изменяющей данные внескольких узлах, протокол двухфазной фиксации обеспечивает успешное выполнениевсей транзакции только в том случае, если успешно выполнилась обработка вкаждом узле. Если же в одном из узлов обработка не выполнена успешно, то анулируются результаты работы всей транзакции.

3. ГОРИЗОНТАЛЬНАЯ И ВЕРТИКАЛЬНАЯФРАГМЕНТАЦИЯ. Эта функция позволяет "расщеплять" таблицу БД построкам (горизонтально) и по столбцам (вертикально) и размещать части данныхтаблицы в разных узлах сети.

4.НЕЗАВИСИМОСТЬ ДУБЛИРОВАНИЯДАННЫХ. Это свойство СУБД позволяет создавать в узлах сети дубли данных безснижения производительности приложения и без нарушения непротиворечивостиданных.

5. РАСПРЕДЕЛЕННЫЕ ПРЕДСТАВЛЕНИЯ (views). Представления могут формироваться при выполненииоперации соединения (join) таблиц, размещающихся вразных узлах.

6.   ОПТИМИЗАЦИЯ  РАСПРЕДЕЛЕННЫХ   ЗАПРОСОВ.  Оптимизация алгоритмов выполнения  сложных  операций,  например   соединениятаблиц,  выполняется с учетом размещения данных в глобальной сети. Приэтом учитывается пропускная способность сети, ее загрузка и объем передаваемойинформации, вычислительная мощность узлов. На основе этой информации делаетсявывод о том, где лучше всего производить операцию соединения таблиц (какнаиболее трудоемкую операцию).

7. РАСПРЕДЕЛЕННЫЕ ОГРАНИЧЕНИЯЦЕЛОСТНОСТИ. Эта функция обеспечивает ссылочную целостность данных. В узлахмогут находиться таблицы, зависящие от некоторой таблицы-мастера. Примодификации данных таблицы-мастера автоматически модифицируются зависимыетаблицы.

8. ЛОКАЛЬНАЯ АВТОНОМИЯ.Администратор БД конкретного узла полностью контролирует данные локальной БДданного узла. Он может работать независимо от администраторов других узлов.

9. НЕПРЕРЫВНАЯ ОБРАБОТКА (continual operation). Обработка, выполняемая влокальном узле БД, не может быть прервана командами из другого узла. Т.е. вкаждом узле обработка выполняется независимо и целиком.

10. НЕЗАВИСИМОСТЬ РАЗМЕЩЕНИЯ.Изменение места хранения данных не ведет к изменению работающих с этими даннымиприложений.

11. ОБРАБОТКА РАСПРЕДЕЛЕННЫХТРАНЗАКЦИЙ. Обеспечение ограничений целостности поддерживается и при выполнениитранзакции, изменяющей несколько узлов.

12. ГЛОБАЛЬНАЯ ОБРАБОТКАВЗАИМОБЛОКИРОВОК И ПРОБЛЕМ, ВОЗНИКАЮЩИХ ПРИ ОДНОВРЕМЕННОМ ДОСТУПЕ К ДАННЫМ.Блокировка данных может выполняться во всех узлах БД. Необходимо выявлять иразрешать ситуации, когда два узла взаимно блокируют друг друга.

13. НЕЗАВИСИМОСТЬ ОТ ТИПАКОМПЬЮТЕРОВ, ОПЕРАЦИОННЫХ СИСТЕМ, СЕТЕВЫХ ПРОТОКОЛОВ, ТИПОВ СУБД. Этанезависимость осуществляется путем использования как встроенных в СУБД средств,так и шлюзов (gateways).

Типы Распределённых Баз Данных

1) Распределённые Базы Данных

2) Мультибазыданных с глобальной схемой. Система Мультибаз данных— это распределённая система, которая служит внешним интерфейсом для доступа комножеству локальных СУБД или структурируется, как глобальный уровень надлокальными СУБД.

3) Федеративные базы данных. Вотличие от мультибаз не располагают глобальнойсхемой, к которой обращаются все приложения. Вместо этого поддерживаетсялокальная схема импорта-экспорта данных. На каждом узле поддерживаетсячастичная глобальная схема, описывающая информацию тех удалённых источников,данные с которых необходимы для функционирования.

4) Мультибазыс общим языком доступа — распределённые среды управления с технологией«клиент-сервер»

5) Интероперабельныесистемы — это системы, в которых сами приложения, выполняемые в среде той илииной СУБД, ответственны за интерфейсы между различными средами приложения,независимо от того, являются они однородными или неоднородными. Системыориентированы главным образом на обмен данными. Дальнейшее развитие этих системявляется объектно-ориентированные БД.

 
Категория: Сети передачи данных | Добавил: Admin (02.10.2010)
Просмотров: 4407 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Поиск

Поиск Google

Copyright MyCorp © 2024 Бесплатный конструктор сайтов - uCoz