Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
26
Добавлен:
13.03.2015
Размер:
546.82 Кб
Скачать

Распределение данных.

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

Централизованное размещение. Данная стратегия предусматривает создание на одном из сайтов единственной ба­зы данных под управлением СУБД, доступ к которой будут иметь все пользователи сети (эта стратегия под названием "распределенная обработка" уже рассматривалась нами выше).

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

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

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

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

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

В контексте базы данных клиент управляет пользовательским интерфейсом и логикой приложения, действуя как сложная рабочая станция, на которой выполняются приложения баз данных. Клиент принимает от пользователя запрос, проверяет синтаксис и генерирует запрос к базе данных на языке SQL или другом языке базы данных, который соответствует логике приложения. Затем он передает сообщение серверу, ожидает поступления ответа и форматирует полученные данные для представления их пользователю. Сервер принимает и обрабатывает запросы к базе данных, а затем передает полученные результаты обратно клиенту. Такая обработка включает проверку полномочий клиента, обеспечение требований целостности, поддержку системного каталога, а также выполнение запроса и обновление данных. Помимо этого, поддерживается управление параллельностью и восстановлением.

Выполняемые клиентом и сервером операции приведены в таблице.

Клиент

Сервер

Управляет пользовательским интерфейсом

Принимает и обрабатывает запросы к базе данных со стороны клиентов

Принимает и проверяет син-таксис введенного запроса

Проверяет полномочия пользователей

Выполняет приложение

Гарантирует соблюдение ограничений целост-ности

Генерирует запрос к базе дан-ных и передает его серверу

Выполняет запросы/обновления и возвращает результаты клиенту

Отображает полученные данные пользователю

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

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

Основная литература: 1[729-770]

Соседние файлы в папке Новые лекции