Архитектура клиент-сервер широко используется при построении распределенных информационных систем, которые работают с базами данных. Архитектура основана на принципах организации взаимодействия сервера и клиента при управлении базой данных.
Основными функциями СУБД является:
- управление данными, которые находятся в базе;
- обработка информации посредством прикладных программ;
- отображение информации в виде, удобном для пользователя.
При размещении системы на одном компьютере, то все ее функции реализуются одной программой.
Если СУБД размещена в сети, то распределение функций по узлам будет зависеть от количества узлов сети. Выделяют двухзвенные, трехзвенные модели и т.д.
Двухзвенные модели распределения функций
В двухзвенных моделях функции СУБД распределены между двумя узлами (компьютерами) сети.
Компьютер, на котором реализуется функция управления данными, называется сервером.
Компьютер пользователя, на котором реализуется функция представления информации, называется клиентом.
Типичные варианты разделения функций между клиентом и сервером (рисунок 1):
- распределенная база данных;
- распределенное представление;
- сервер базы данных (удаленное представление);
- распределенная функция;
- удаленный доступ к данным.
Наиболее распространенными является модель удаленного доступа к данным и модель сервера базы данных (удаленного представления).
Моделью удаленного доступа к данным (RDA) реализуются функции представления информации и логика прикладной обработки с помощью совмещенных программ, которые выполняются на клиенте.
Функция управления данными реализуется через среду передачи при помощи операторов языка SQL или вызова функций специальной библиотеки API (интерфейс прикладного программирования).
Основным достоинством RDA-модели является большое количество готовых СУБД с SQL-интерфейсами и инструментальных средств, которые обеспечивают быстрое создание клиентских программ.
К недостаткам RDA-модели относится достаточно высокая загрузка системы передачи данных, т.к. вся логика сосредотачивается в приложении, а данные, которые обрабатываются, располагаются на удаленном узле.
Также построенные на основе RDA-модели системы являются неудобными в разработке, модификации и сопровождении.
В модели сервера БД (DBS) функции клиента ограничены функциями представления информации, а прикладные функции обеспечивает приложение, которое находится на сервере. Такая модель более технологична, чем модель RDA, и реализуется в СУБД Oracle, Sybase и Ingress. Приложения при этом реализуются как хранимые процедуры.
К достоинствам DBS-модели относится: хорошее централизованное администрирование приложений при разработке, сопровождении и модификации, возможность эффективного использования коммуникационных и вычислительных ресурсов.
К недостаткам DBS-модели относится ограничение средств разработки хранимых процедур, не очень эффективное использование вычислительных ресурсов компьютера.
Модель распределенного представления представлена мощным сервером, а клиенты практически отсутствуют. К функциям клиента относится простое отображение информации на мониторе и связь с сервером с помощью локальной сети.
Модель распределенного представления реализуется в СУБД, которые поддерживают работу X-терминалов. Хост-машина (основной компьютер) должна быть достаточно мощной для возможности обслуживания нескольких Х-терминалов. У X-терминала должен быть достаточно быстрый процессор и большой объем оперативной памяти вследствие отсутствия дисковых накопителей.
Достоинством данной модели является простота управления доступом к системе и обслуживания, а также невысокая стоимость.
Недостатки модели: при невысокой надежности сервера система является уязвимой, а также высокие требования к производительности сервера при большом количестве клиентов.
Трехзвенная модель распределения функций
В трехзвенной модели распределения функций на отдельном компьютере реализуется каждая из трех функций приложения.
Трехзвенную модель называют моделью сервера приложений, или AS-моделью (рисунок 2).
Сервер приложений, на котором реализуется несколько прикладных функций, является центральным звеном AS-модели. Сервер приложений может быть не один. Любая программа, которая запрашивает услугу у сервера, является клиентом для него.
Достоинства AS-модели: универсальность и гибкость, т.к. функции приложения разделяются на 3 независимые составляющие.
К недостаткам модели относится высокое потребление ресурсов компьютеров при обмене информацией между составляющими приложения.