- •Раздел 1 теоретические основы проектирования удаленных баз данных
- •Тема 1.1 Архитектуры удаленных баз данных
- •1.1.2. Архитектура «клиент – сервер
- •1.1.3. Двухуровневые модели
- •1. Модель удаленного управления данными, или модель файлового сервера.
- •2. Модель удаленного доступа к данным
- •3. Модель сервера баз данных.
- •1.1.4 Трёхуровневая модель: модель сервера приложений
- •1.1.5. Основные свойства распределенных баз данных
1.1.3. Двухуровневые модели
Двухуровневые модели управления БД фактически являются результатом распределения пяти указанных ранее групп функций стандартного интерактивного приложения между двумя процессами, выполняемыми на двух платформах: компьютере клиента и на сервере. Рассмотрим наиболее характерные особенности каждой двухуровневой модели.
1. Модель удаленного управления данными, или модель файлового сервера.
В этой модели презентационная логика и бизнес-логика располагаются на клиентской части. На сервере располагаются файлы с данными и поддерживается доступ к этим файлам. Функции управления информационными ресурсами в этой модели находятся на клиентской части.(рис. стр. 17 учебника по РиЭУБД)
В этой модели файлы базы данных хранятся на сервере, клиент обращается к серверу с файловыми командами, а механизм управления всеми информационными ресурсами — собственно база метаданных (выбранных данных) — находится на компьютере клиента.
Достоинство данной модели:
приложение разделено на два взаимодействующих процесса;
сервер (серверный процесс) может обслуживать множество клиентов, которые обращаются к нему с запросами.
Алгоритм выполнения клиентского запроса:
Запрос формулируется в командах языка манипулирования данными (ЯМД).
СУБД переводит этот запрос в последовательность файловых команд.
Каждая файловая команда вызывает перекачку блока информации на компьютер клиента, а СУБД анализирует полученную информацию, и если в полученном блоке не содержится ответ на запрос, принимается решение о перекачке следующего блока инормации и т.д.
Перекачка информации с сервера на клиентский компьютер производится до тех пор, пока не будет получен ответ на запрос клиента.
Недостатки данной модели:
высокий сетевой трафик, который связан с передачей по сети множества блоков и файлов, необходимых приложению;
узкий спектр операций манипулирования с данными, определяемый только файловыми командами;
отсутствие адекватных средств безопасности доступа к данным (защита только на уровне файловой системы).
2. Модель удаленного доступа к данным
В этой модели база данных хранится на сервере. Там же находится и ядро СУБД. На компьютере клиента располагаются презентационная логика и бизнес-логика приложения. Клиент обращается к серверу с запросами на языке SQL. (рис. стр. 18 учебника по РиЭУБД)
Преимущества данной модели:
перенос компонента представления и прикладного компонента на клиентский компьютер существенно разгружает сервер; БД, сводя к минимуму общее число выполняемых процессов в операционной системе;
сервер БД освобождается от несвойственных ему функций, а процессор или процессоры сервера целиком загружаются операциями обработки данных запросов и транзакций;
резко уменьшается загрузка сети, так как по ней от клиентов к серверу передаются не запросы на ввод-вывод в файловой терминологии, а запросы на языке SQL, объем которых существенно меньше. В ответ же на эти запросы клиент получает только данные, соответствующие запросу, а не блоки файлов.
унификация интерфейса клиент—сервер, т.е. стандартным при общении приложения клиента и сервера становится язык SQL.
Недостатки данной модели:
запросы на языке SQL при интенсивной работе клиентской части приложения могут существенно загрузить сеть;
так как в этой модели на компьютере клиента располагаются и презентационная логика, и бизнес-логика приложения, при повторении аналогичных функций в других приложениях код, соответствующей бизнес-логики, должен быть повторен для каждого клиентского приложения, что вызывает излишнее их дублирование;
так как сервер в этой модели играет пассивную роль, функции управления информационными ресурсами должны выполняться на компьютере клиента.
