Архитектурные решения баз данных

Архитектура БД на основе разделяемых файлов.Применяется для создания локальных сетей на основе файлового сервера. На каждом из персональных компьютеров запускается приложение, использующее общие файлы, которые находятся на файловом сервере. В результате можно быстро и дешево запустить однопользовательское приложение в многопользовательском режиме [4].

Среди недостатков архитектуры следует отметить:

1. низкую пропускную способность сети, большое время реакции;

2. зависимость целостности данных от прикладной программы, а в ней возможны ошибки;

3. отсутствие механизма для обеспечения одновременного доступа к данным нескольких пользователей;

4. зависимость от администратора системы в случае аппаратного сбоя (отключение питания); проверку и восстановление в течение нескольких часов должен делать только он;

5. вопрос незакрытых транзакций при аппаратном сбое.

Проблемы низкой производительности при интенсивной работе нескольких пользователей и обеспечения целостности — принципиальные и непреодолимые. Такую архитектуру можно использовать для небольшой БД при одновременной работе 5—10 пользователей.

Архитектура «хост—терминал».Применяется на рабочем месте пользователя (на терминале); производит только физическое отображение и ввод информации. Вся логика приложений и все данные хранятся на центральном компьютере (хосте).

Недостатки:

1. алфавитно-цифровой монохромный интерфейс;

2. сложность администрирования;

3. масштабируемость — увеличение числа пользователей приводит к необходимости аппаратной и программной модификации.

Архитектура «клиент—сервер».Предусматривает наличие двух типов программ: программы-клиента (активная) и программы-сервера (пассивная).

К функциям сервера БД относят:

1. выполнение клиентских запросов по извлечению и модификации данных;

2. предоставление механизма одновременного доступа к данным нескольких пользователей;

3. обеспечение идентификации и разграничения прав доступа разных пользователей к разным данным;

4. обеспечение целостности и непротиворечивости данных в случае аппаратных и программных сбоев;

5. защиту данных от несанкционированного доступа;

6. предоставление средств администрирования АИС.

Среди функций клиента основными являются:

1. взаимодействие с пользователем;

2. выполнение некоторых системных задач, не связанных с внутренним представлением и хранением данных.

Архитектура с использованием сервера приложений. Вслучае, если клиентское приложение достаточно велико, то часть его целесообразно выполнять на сервере, особенно при использовании изменяющихся параметров (размер налога и т. п.). Суть реализации сервера приложений заключается в разбиении приложения на две части — собственно клиента и сервера данного приложения. Сервер приложений может быть один для нескольких приложений. В отличие от рассмотренных выше архитектурных решений, здесь наличествуют три типа взаимодействующих компонентов — сервер БД, приложение (клиент) и сервер приложений [3].