Архитектура клиент-сервер стр. 1 Архитектура удаленных баз данных Сервер В многопользовательских режимах в работе с базой данных применяется специальная технология, называемая клиент – сервер. Суть: клиентский процесс Клиентский запрашивает Серверный процесс некоторые услуги по процесс обработке данных. А БД Терминал 1 серверный процесс Серверный выполняет заданные процесс Клиентский операции и процесс возвращает на сторону клиента Терминал 2 результат. Таким образом, к серверу могут обращаться несколько клиентских процессов. При работе технологии клиент-сервер между ними распределяются следующие функции: 1. ввод данных; 2. отображение данных; 3. выполнение общих алгоритмов решения; 4. выполнение алгоритмов нужных для конкретного приложения; 5. управление информационными ресурсами, внутренними для базы данных; 6. служебные операции для согласования базы данных с требуемыми алгоритмами. В зависимости от места нахождения функций на клиентской или серверной стороне различают несколько моделей распределения функций в технологии клиент – сервер: Классификация моделей Файл - сервер Клиент - сервер Двухзвеньевая Модель удаленного доступа данных Модель удаленного управления данных Трехзвеньевая (сервер-приложений) Модель активного сервера Модель файл - сервер. RDM (Remote Data Manager) Сервер Клиент Ввод запрос Вывод Управление ресурсами БД Структура, метаданные Общ алгоритмы Кокрет. алг-мы Служ. операция СУБД Блок данных Достоинство: распределение функции между клиентом и сервером Недостатки: - высокий сетевой трафик – за счет передачи большого количества блоков; Архитектура клиент-сервер стр. 2 - малое количество операций и их различие в разных СУБД; - отсутствуют средства безопасности доступа к данным, т. к. они защищены только на уровне файловой системы. Модель удаленного доступа данных. RDA (Remote Data Access) БД Сервер Клиент SQLзапрос Ввод Управление рес-ми Служ. программы Вывод Общ алгоритмы Рез-тат Структура, метаданные СУБД (сервер) Кокрет. алг-мы Служ. операция СУБД (клиент) Достоинство: увеличение количества команд и определение их, как общепринятых за счет создания специального языка SQL. Недостатки: - дублирование общих команд в разных приложениях; - неактивный сервер, т. к. на нем не выполняются операции. Модель активного сервера. DBS (Data Base Server) Клиент Ввод Вывод Кокрет. алг-мы Служ. операция Сервер SQLзапрос БД Общий алгоритм Управление рес-ми Служ. программы СУБД (сервер) СУБД (клиент) Достоинства: - уменьшение трафиков; - централизованный контроль данных за счет триггеров; - отсутствие дублирования основных алгоритмов. Триггеры Храним. процедуры Метаданные Структура Архитектура клиент-сервер Модель сервера приложений. AS (Application Server) Вызов процедуры Клиент SQLзапрос БД Сервер приложений Ввод Общий алгоритм Вывод Служ. программы Кокрет. алг-мы Служ. операция стр. 3 Рез-т СУБД, СП Сервер БД Упр. рес-ми Служ. прог. СУБД Триггеры Храним. процедуры Метаданные Структура СУБД, СП СП – системы программирования Достоинства: - большая гибкость клиентского приложения, что позволяет рационально писать приложения сервера; - мобильность базы данных к переносу на другие платформы. Архитектура клиент-сервер стр. 4 Типы архитектур серверов базы данных 1. Тип один к одному – сервер обслуживает запросы только одного пользователя, а для обслуживания нескольких клиентских запросов нужно запустить серверный процесс еще раз. Кл. запрос 1 Сер. прил.1 БД CPU Кл. запрос 2 Сер. прил. 2 Недостатки: - большой расход ресурсов; - каждый серверный процесс запускается независимо. 2. Система с выделенным сервером – несколько запросов обрабатываются сервером одновременно. Кл. запрос 1 Сер. прил.1 БД CPU Кл. запрос 2 Сер. прил. 2 Достоинства: - обладает монополией доступа к данным и управления ими; - уменьшение нагрузки на оперативную память. Недостатки: сервер выполняет операции только с одним центральным процессором. Поэтому эта архитектура называется односервисная – многопотоковая архитектура. 3. Архитектура виртуального сервера – для обработки клиентских запросов вводится промежуточный диспетчер, который распределяет запросы по серверу. Кл. запрос 2 Кл. запрос 3 Диспетчер Кл. запрос 1 Сер. прил.1 CPU Сер. прил. 2 CPU БД Сер. прил. 3 CPU Достоинства: появилась возможность использовать для обработки данных на серверной стороне СУБД с мультипроцессорными платформами. Недостатки: - появление дополнительного слоя (диспетчера), поэтому увеличиваются траты ресурсов; - ограничена возможность управления серверными процессами; - все серверы равнозначны. 4. Многопотоковая архитектура с несколькими серверами – распределяются запросы по типу выполняемых программ. Кл. запрос 1 Сер. прил.1 CPU БД Кл. запрос 2 Сер. прил. 2 CPU Кл. запрос 3 Достоинства: сокращение затрат ресурсов за счет отсутствия повторяющихся запросов.