Распределенная база данных– это набор логически связанных между собой разделяемых данных (и их описаний), которые физически распределены в некоторой компьютерной сети.
Программный комплекс, предназначенный для управления распределенными базами данных и позволяющий сделать распределенность информации прозрачной для конечного пользователя, является распределенной СУБД.
Система управления распределенными базами данных (СУРБД) состоит из единой логической базы данных, разделенной на некоторое количество фрагментов. Каждый фрагмент базы данных сохраняется на одном или нескольких компьютерах, которые соединены между собой линиями связи и каждый из которых работает под управлением отдельной СУБД. Любой из сайтов способен независимо обрабатывать запросы пользователей, требующие доступа к локально сохраненным данным, а также способен обрабатывать данные, сохраненные на других компьютерах сети.
Пользователи взаимодействуют с распределенной базой данных через приложения. Локальные приложения не требуют доступа к данным на других сайтах, глобальные приложения требуют подобного доступа. В распределенных СУБД должно существовать хотя бы одно глобальное приложение, поэтому любая СУРБД должна иметь следующие особенности.
1) Набор логически связанных разделяемых данных.
2) Сохраняемые данные разбиты на некоторое количество фрагментов.
3) Между фрагментами может быть организована репликация данных.
4) Фрагменты и их реплики распределены по различным сайтам.
5) Сайты связаны между собой сетевыми соединениями.
6) Работа с данными на каждом сайте управляется СУБД.
7) СУБД на каждом сайте способна поддерживать автономную работу локальных приложений.
8) СУБД каждого сайта поддерживает хотя бы одно глобальное приложение.
Нет необходимости в том, чтобы на каждом сайте системы существовала своя собственная локальная база данных (рис.23).
От пользователей должен быть полностью скрыт тот факт, что распределенная база данных состоит из нескольких фрагментов, то есть для конечного пользователя распределенность системы должна быть полностью прозрачна (невидима). Назначение обеспечения прозрачности состоит в том, чтобы распределенная система внешне вела себя точно так, как и централизованная. Это требование называют основным принципом построения распределенных СУБД.
Очень важно понимать различия, существующие между распределенными СУБД и распределенной обработкой данных.
Распределенная обработка является обработкой с использованием централизованной базы данных, доступ к которой может осуществляться с различных компьютеров сети.
Ключевым моментом в определении распределенной базы данных является утверждение, что система работает с данными, физически расположенными в сети.
Кроме того, следует четко понимать различия, существующие между распределенными и параллельными СУБД. Параллельная СУБД функционирует с использованием нескольких процессоров и устройств жестких дисков, что позволяет ей (если это возможно) распараллеливать выполнение некоторых операций с целью повышения общей производительности обработки.
Сайт 1
База данных
Сайт 4 Сайт 2 База данных
База данных Сайт 3
Рис. 23. Топология СУРБД
К преимуществам СУРБД можно отнести:
1) Отражение структуры организации.
2) Разделяемость и локальная автономность.
3) Повышение доступности данных.
4) Повышение надежности.
5) Повышение производительности.
6) Экономические выгоды.
7) Модульность системы.
Недостатками СУРБД являются:
1) Повышение сложности.
2) Увеличение стоимости.
3) Проблемы защиты.
4) Усложнение контроля за целостностью данных.
5) Отсутствие стандартов.
6) Недостаток опыта.
7) Усложнение процедуры разработки базы данных.
Распределенные СУБД разделяются на гомогенные и гетерогенные. В гомогенныхсистемах все сайты используют один и тот же тип СУБД. В гетерогенныхсистемах на сайтах могут функционировать различные типы СУБД, использующие разные модели данных.
Гомогенные системы значительно проще проектировать и сопровождать. Кроме того, подобный подход позволяет поэтапно наращивать размеры системы, последовательно добавляя новые сайты к уже существующей распределенной системе. Дополнительно появляется возможность повышать производительность системы за счет организации на различных сайтах параллельной обработки данных.
Гетерогенные системы возникают в тех случаях, когда независимые сайты, уже эксплуатирующие свои собственный системы с базами данных, интегрируются во вновь создаваемую распределенную систему. Здесь для организации взаимодействия между различными типами СУБД потребуется организовать трансляцию передаваемых сообщений. Для обеспечения прозрачности в отношении типа используемой СУБД пользователи каждого из сайтов должны иметь возможность вводить интересующий их запрос на языке той СУБД, которая используется на данном сайте.
Одной из разновидностей распределенных СУБД являются мультибазовые системы. Мультибазовая система – это распределенная СУБД, в которой управление каждым сайтом осуществляется совершенно автономно. Мультибазовая СУБД прозрачным образом располагается поверх существующих бах данных и файловых систем, предоставляя их своим пользователям, как некую единую базу данных.
Существуют нефедеральные (не имеющие локальных пользователей) и федеральные мультибазовые системы. Федеральная система представляет собой некоторый гибрид распределенной и централизованной системы, поскольку она выглядит как распределенная для удаленных пользователей и как централизованная – для локальных.