Лекции / Л-2 - Архитектурные решения
.pdf
Управляющие элементы базы данных
Общие или критически значимые функции оформля-
ются в виде хранимых процедур.
Клиентское приложение обращается к серверу с командой запуска хранимой процедуры. Сервер выполняет процедуру и регистрирует изменения в БД.
Вводится механизм триггеров. При возникновении события, связанного с изменением данных (вставка, удаление, обновление), СУБД вызывает хранимую процедуру, связанную с триггером, что позволяет контролировать изменение БД.
Принцип действия хранимой процедуры
Смешанная модель
Поддержка целостности БД и простейшие прикладные функции выполняются хранимыми процедурами (DBSмодель).
Более сложные функции реализуются в прикладной программе на компьютере-клиенте (RDA-модель).
Достоинства модели DBS
Централизованный контроль доступа к данным со стороны администратора БД.
Процедуры и триггеры предоставляют администратору мощные средства поддержки целостности БД.
Резкое снижение трафика (по сети направляются вызовы хранимых процедур).
Возможность разделения процедуры между несколькими приложениями.
Сокращается время написания приложений.
Экономятся вычислительные ресурсы системы.
Недостатки модели DBS
Большая загрузка сервера – обслуживает множество клиентов, обеспечивает все функции СУБД, осуществляет мониторинг событий, связанных с триггерами, запускает хранимые процедуры и т. д.
Ограниченность средств, используемых для написания хранимых процедур (процедурные расширения SQL не выдерживают сравнения с языками 4GL).
Более высокие финансовые затраты на аппаратное и программное обеспечение.
Трудности со своевременным обновлением клиентских приложений на всех компьютерах-клиентах.
Трехуровневая архитектура «клиент-сервер» (1)
Модель сервера приложений (Application Server – AS).
Промежуточный уровень между клиентом и сервером
(один или несколько серверов приложений).
Серверы приложений организуют окружение для работы служб, вызываемых клиентами. Клиент не взаимодействует напрямую с сервером БД. Вызовы служб похожи на архи-
тектуру хранимых процедур.
Трехуровневая архитектура «клиент-сервер» (2)
Дополнительные службы сервера приложений (1)
Суммирование – серверы приложений поддерживают пул разделяемых служб. Клиент вызывает службу, которая связывается с сервером базы данных.
Пул соединений – сервер приложений организует пул разделяемых постоянных соединений с БД, которые использует для передачи их запросов (не создаются отдельные сеансы для каждого клиента).
Балансирование нагрузки – запросы клиентов равно-
мерно распределяются между несколькими разделяемыми серверами БД на одной или нескольких машинах.
Дополнительные службы сервера приложений (2)
Отказоустойчивость – сервер приложений играет роль менеджера транзакций (СУБД транзакциями не управляет). Если сервер БД аварийно завершится во время выполнения транзакции, то после восстановления сервер приложений может начать транзакцию заново.
Маршрутизация транзакций – компоненты промежу-
точного уровня могут отправлять транзакции конкретным серверам БД (повышение масштабируемости).
Гетерогенные транзакции – серверы приложений могут управлять транзакциями, включающими разнородные серверы баз данных, например, Oracle и DB2.
Трехуровневая архитектура «клиент-сервер» (2)
База данных и СУБД – на жестком диске выделенного компьютера (сервера сети).
Существует сервер приложений, на котором располагается ПО делового анализа (бизнес-логика).
На клиентских компьютерах установлен тонкий клиент
– приложение, реализующее интерфейс пользователя.
Через предоставляемый приложением GUI пользователь инициирует обращение к ПО делового анализа на сервере приложений.
