Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных_учпос_Любицкий Ю.В..doc
Скачиваний:
9
Добавлен:
20.04.2019
Размер:
618.5 Кб
Скачать

4.3. Модели «клиент-сервер»

Технологии работы с базами данных предусматривают выполнение следующих основных функций:

1. Ввод и отображение данных.

2. Решение прикладных задач.

3. Управление информационными ресурсами (реализуется СУБД).

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

Модель удаленного управления данными (файлового сервера File Server, FS)

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

Клиент Сервер База данных

Ввод и отображение данных

Решение прикладных задач

СУБД

Система управления файлами

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

Блоки данных

Рис. 11. Модель файлового сервера

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

Модель файлового сервера может быть реализована с помощью сетевой (предназначенной для работы в локальной вычислительной сети, ЛВС) или несетевой СУБД.

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

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

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

Несмотря на отмеченные недостатки, модель файлового сервера положена в основу архитектуры большинства настольных СУБД: MS Access, Paradox, FoxPro и т. д.

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

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

Клиент Сервер База данных

Ввод и отображение данных

Решение прикладных задач

СУБД

SQL запросы

Результаты запросов

Рис. 12. Модель удаленного доступа

В процессе работы клиент обращается к серверу с запросами на языке SQL (Structured Query Language – язык структурированных запросов). Ответы на эти запросы представляют собой не блоки данных большого объема, часто включающие излишнюю информацию, а конкретные данные, необходимые приложению для решения прикладной задачи.

В модели удаленного доступа к данным объемы информации, передаваемой по сети, существенно меньше, чем в модели файлового сервера. Тем не менее они могут оставаться довольно значительными. Другими недостатками рассматриваемой модели являются сложность разработки, модернизации и обслуживания системы, а также относительная пассивность сервера [ 4 ].

Модель сервера баз данных (DataBase Server, DBS)

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

Клиент Сервер База данных

В

Реализация хранимых процедур

СУБД

ызов

Ввод и отображение данных

хранимых процедур

Результаты

выполнения

процедур

Рис. 13. Модель сервера баз данных

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

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

В рассматриваемой модели сервер является активным, через механизм триггеров (действий, выполняющихся автоматически при возникновении определенных событий или ситуаций в БД) он может самостоятельно инициировать обработку информации в базе данных [ 4 ].

Модель сервера баз данных применяется в СУБД MS SQL Server, Oracle, Informix, Ingress и т. д.

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

Модель сервера приложений (Application Server, AS)

Эта модель позволяет уменьшить нагрузку на сервер. В отличие от рассмотренных двухуровневых моделей она является трехуровневой (рис. 14):

Клиент Сервер приложений Сервер БД База данных

З апуск

Ввод и

отображение данных

Реализация

прикладных

функций

СУБД

процедур

Результаты

выполнения

процедур

Рис. 14. Модель сервера приложений

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

Достоинствами модели сервера приложений являются ее гибкость и универсальность. Основной недостаток – высокие затраты ресурсов серверов.

В качестве примеров программ, поддерживающих работу серверов приложений, можно привести BEA WebLogic Server, Inprise Application Server и IBM WebSphere Application Server [ 15 ].

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]