Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_2013_Задания / КонспектЛекций_БД_СоболеваНВ_2013.docx
Скачиваний:
125
Добавлен:
12.03.2015
Размер:
634.27 Кб
Скачать

3 Ис в клиент-серверной архитектуре

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

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

Клиент-серверная архитектура обладает следующими преимуществами:

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

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

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

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

  • повышается уровень непротиворечивости данных, так как все проверки выполняются в одном месте, то есть на сервере.

Основным недостатком клиент-серверной архитектуры является ограниченное число клиентских мест, т.к. при росте их количества сервер становится «узким местом» системы.

4 Двухзвенные модели архитектуры

Файл-серверная и клиент-серверная архитектура относятся к двухзвенным моделям.

Рассмотрим основные функции СУБД, в зависимости от реализации которых, определим разные варианты архитектуры ИС:

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

2) обработка данных с помощью прикладных программ;

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

В двухзвенной модели эти функции распределены между двумя узлами сети: сервером и клиентом.

Возможны следующие варианты двухзвенных моделей:

1) распределенное представление;

2) удаленное представление;

3) распределенная функция;

4) удаленный доступ к данным;

5) распределенная БД.

На рисунке 1 показаны различия между вариантами.

Рисунок 1 – Двухзвенные модели

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

Remote Data Access (RDA) – удаленный доступ к данным.

Обработка и представление осуществляются на компьютере-клиенте. Обращение к функциям управления осуществляется через сеть с помощью команд SQL или путем вызова функций библиотеки API.

Недостатки:

- высокая загрузка сети, когда передаются целые базы данных;

- проблемы модификации, т.к. в одном приложении реализованы функции обработки и представления.

DataBase Server (DBS) – сервер БД или удаленное представление.

Функции обработки и управления данными реализованы на сервере. Приложения имеют вид хранимых процедур, т.е. ссылки на них хранятся в словаре БД. Хранимые процедуры разделяются нескольким клиентами (см. СУБД Ingress, Sybase, Oracle и др.).

Недостатки:

- ограниченный набор средств разработки хранимых процедур;

- средства разработки привязаны к конкретной СУБД;

- низкая эффективность использования ресурсов сервера из-за сложности управления потоком запросов к программам сервера.