2_Архитектура клиент

advertisement
Архитектура клиент-сервер
стр. 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
Достоинства: сокращение затрат ресурсов за счет отсутствия повторяющихся запросов.
Download