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

15. Архит-ра «Клиент - Сервер». М взаимодействия fs, rda, dbs, as, их анализ.

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

  1. Управление данными, находящимися в базе;

  2. Обработка данных (в том числе и с помощью прикладной программы пользователя);

  3. Представление информации в виде, удобной для пользователя.

Если ИС размещается на одном компьютере, то все эти функции собраны вместе и выполняются по ранее рассмотренной схеме (обработка запросов пользователей). Если обработка данных осуществляется с использованием локальной сети (причем 2-ранговой), то возможны различные варианты распределения указанных функций между компьютерами (узлами) сети. В зависимости от количества видов узлов сети различают 2-звенные и 3-звенные М архитектуры «Клиент-Сервер».

Под сервером принято понимать компьютер, который обладает каким-либо ресурсом (аппаратным, программным, информационным).

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

  1. Двухзвенные М.:

  1. Модель удаленной обработки данных (модель файлового сервера FS-модель);

  2. Модель удаленного доступа к данным (RDA – Remote Data Access);

  3. Модель активного сервера БД (DBS – Data Base Server).

FS-модель.

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

Управление данными

Сервер

Данные

Файловые команды

Управление данными

Клиент

Обработка данных

Представление данных

Достоинства:

  • Прил разделяется на 2 взаимодействующих процесса: клиентский и серверный, причем сервер может обслуживать несколько клиентов.

Недостатки:

  • Высокий сетевой трафик, т.к. по сети передаются копии файлов или блоки данных достаточно большого размера;

  • Команды манипулирования данными на сервере сводятся только к файловым командам (открыть, сохранить и т.д.);

  • Защита данных осуществляется только на уровне файловой системы.

RDA- модель.

Управление данными

Сервер

Обработка данных

Результат

SQL

Обработка данных

Представление данных

Клиент

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

Достоинства:

  • Сервер БД освобождается от несвойственных ему файловых функций и целиком загружается операциями по управлению и обработке данными.

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

  • Унификация интерфейса «Клиент-Сервер» на основе стандарта SQL.

Недостатки:

  • При интенсивной работе клиентов сеть оказывается достаточно нагруженной.

  • Так как на клиенте сосредоточены функции представления и частичной обработки, то это приводит к излишнему дублированию кода для разных клиентов.

  • Инициатором обработки данных является клиент, т.е. сервер играет пассивную роль.

DBS-модель.

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

Сервер

Управление данными

Обработка данных

Результат

Вызов процедур

Представление данных

Клиент

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

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

Достоинства:

  • Снижается нагрузка на сеть.

  • Сервер становится активным, т.к. он сам может влиять на обработку.

Недостатки:

  • Слишком большая загрузка сервера, который должен: осуществлять мониторинг событий, связанных с состоянием триггеров; обеспечивать срабатывание триггеров; обслуживать исполнение программы каждого триггера, запускать на исполнение связанные с этим триггером процедуры; возвращать результаты обработки клиенту.

Т.к. требования к клиенту снижаются, то DBS-модель называют моделью с «тонким» клиентом. М RDA и FS называют моделями с «толстым» клиентом.

  1. Трехзвенная модель сервера прил.

И

Вызов процедур

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

A

SQL

S-модель.

На сервере данных находится БД и СУБД, на сервере прил хранятся исполняемые процедуры. Функция представления на клиенте, обработка данных – на сервере прил и частично на сервере данных, управление – на сервере данных. Сервер данных занимается исключительно БД. На клиенте формируется запрос, который в виде вызова процедуры поступает по сети на сервер прил. На сервере прил запускается соответствующий триггер (последовательность процедур), который формирует SQL-запрос к БД. SQL-запрос обрабатывается на сервере данных.

AS-модель отличается высокой гибкостью, особенно когда необходимо выполнять сложные расчеты над БД (в соответствии с OLAP-технологией).