Архитектура БД на основе разделяемых файлов. Применяется для создания локальных сетей на основе файлового сервера. На каждом из персональных компьютеров запускается приложение, использующее общие файлы, которые находятся на файловом сервере. В результате можно быстро и дешево запустить однопользовательское приложение в многопользовательском режиме [4].
Среди недостатков архитектуры следует отметить:
1. низкую пропускную способность сети, большое время реакции;
2. зависимость целостности данных от прикладной программы, а в ней возможны ошибки;
3. отсутствие механизма для обеспечения одновременного доступа к данным нескольких пользователей;
4. зависимость от администратора системы в случае аппаратного сбоя (отключение питания); проверку и восстановление в течение нескольких часов должен делать только он;
5. вопрос незакрытых транзакций при аппаратном сбое.
Проблемы низкой производительности при интенсивной работе нескольких пользователей и обеспечения целостности — принципиальные и непреодолимые. Такую архитектуру можно использовать для небольшой БД при одновременной работе 5—10 пользователей.
|
|
Архитектура «хост—терминал». Применяется на рабочем месте пользователя (на терминале); производит только физическое отображение и ввод информации. Вся логика приложений и все данные хранятся на центральном компьютере (хосте).
Недостатки:
1. алфавитно-цифровой монохромный интерфейс;
2. сложность администрирования;
3. масштабируемость — увеличение числа пользователей приводит к необходимости аппаратной и программной модификации.
Архитектура «клиент—сервер». Предусматривает наличие двух типов программ: программы-клиента (активная) и программы-сервера (пассивная).
К функциям сервера БД относят:
1. выполнение клиентских запросов по извлечению и модификации данных;
2. предоставление механизма одновременного доступа к данным нескольких пользователей;
3. обеспечение идентификации и разграничения прав доступа разных пользователей к разным данным;
4. обеспечение целостности и непротиворечивости данных в случае аппаратных и программных сбоев;
5. защиту данных от несанкционированного доступа;
6. предоставление средств администрирования АИС.
Среди функций клиента основными являются:
1. взаимодействие с пользователем;
2. выполнение некоторых системных задач, не связанных с внутренним представлением и хранением данных.
Архитектура с использованием сервера приложений. В случае, если клиентское приложение достаточно велико, то часть его целесообразно выполнять на сервере, особенно при использовании изменяющихся параметров (размер налога и т. п.). Суть реализации сервера приложений заключается в разбиении приложения на две части — собственно клиента и сервера данного приложения. Сервер приложений может быть один для нескольких приложений. В отличие от рассмотренных выше архитектурных решений, здесь наличествуют три типа взаимодействующих компонентов — сервер БД, приложение (клиент) и сервер приложений [3].