Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Распределенные_БД.doc
Скачиваний:
90
Добавлен:
30.03.2015
Размер:
128.51 Кб
Скачать

4. Особенности проектирования распределенной базы данных

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

Основные этапы последовательности проектирования распределенной базы данных показаны на рис. 2.

Рис. 2. Этапы проектирования распределенной БД

Отметим, что этапы 1, 2, 3 и 6 подобны этапам при проектировании централизованной базы данных. Поэтому рассмотрим только этапы 4 и 5 (этап расчленения базы данных и этап размещения).

Этап расчленения базы данных

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

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

Каждый подфайл в расчлененной базе данных должен выбираться как неделимая единица размещения данных.

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

  • Приложения, использующие единственный файл.

  • Приложения, использующие несколько файлов:

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

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

Размещение баз данных

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

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

5. Технологии «файл-сервер» и «клиент-сервер»

Первая технология предлагает помещать всю БД на файл-сервере – специально выделенном узле. Фактически ЭВМ играет роль «большого накопителя». СУБД располагается в памяти рабочих станций, а файлы данных на дисках файл-сервера.

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

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

В соответствии с другим подходом и БД, и СУБД помещаются на одном компьютере, называемом SQL-сервером или сервером БД. Технология “клиент-сервер” – это особый случай распределенных систем: это система, где одни узлы – клиенты, другие – серверы. Все данные хранятся на серверах, приложения исполняются на клиентах.

Для решения проблемы организации совместной работы многих пользователей с большими базами данных в реальном масштабе времени американской фирмой Oracle Corp., европейской фирмой EuroSoft и некоторыми другими было предложено создавать SQL-серверы, называемые так по наименованию интерфейсного языка SQL (Structured Query Language). Этот подход позволяет необходимость пересылки на рабочие станции для дальнейшей обработки значительных объемов информации.

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

Имеется еще ряд причин, сдерживающих применение серверов для организации совместной работы многих пользователей с большими БД:

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

-установка и эксплуатация SQL-cepвepa – непростая задача, требующая высокой квалификации программистов.

Подводя итоги, можно сказать следующее:

  • При работе с небольшими БД в системах, рассчитанных на небольшое число пользователей, можно с некоторой долей риска применять технологию «файл-сервер».

  • Технология «клиент-сервер» наиболее полно раскрывает свои возможности в неоднородных вычислительных сетях, компьютеры которых, работая в различных операционных системах, обмениваются информацией на унифицированном языке SQL.

7