Архитектурные решения, используемые при реализации многопользовательских СУБД
Как уже отмечалось, понятие базы данных изначально предполагало возможность решения многих задач несколькими пользователями. В связи с этим важнейшей характеристикой современных СУБД является наличие многопользовательской технологии работы. Разная реализация таких технологий в разное время была связана как с основными свойствами вычислительной техники так и с развитием программного обеспечения. Дадим краткую характеристику этих технологий в хронологическом порядке.
Централизованная архитектура
При использовании этой технологии база данных, СУБД и прикладная программа (приложение) располагаются на одном компьютере (мэйнфрейме или персональном компьютере) (рис. 1.2). Для такого способа организации не требуется поддержки сети и все сводится к автономной работе. Работа построена следующим образом:
- • база данных в виде набора файлов находится на жестком диске компьютера;
- • на том же компьютере установлены СУБД и приложение для работы с БД;
- • пользователь запускает приложение. Используя предоставляемый приложением пользовательский интерфейс, он инициирует обращение к БД на выборку/обновление информации;
- • все обращения к БД идут через СУБД, которая инкапсулирует внутри себя все сведения о физической структуре БД;
- • СУБД инициирует обращения к данным, обеспечивая выполнение запросов пользователя (осуществляя необходимые операции над данными);
- • результат СУБД возвращает в приложение;
- • приложение, используя пользовательский интерфейс, отображает результат выполнения запросов.

Персональный компьютер или мэйнфрейм

Рис. 1.2. Централизованная архитектура
Подобная архитектура использовалась в первых версиях СУБД DB2, Oracle, Ingres. Многопользовательская технология работы обеспечивалась либо режимом мультипрограммирования (одновременно могли работать процессор и внешние устройства - например, пока в прикладной программе одного пользователя шло считывание данных из внешней памяти, программа другого пользователя обрабатывалась процессором), либо режимом разделения времени (пользователям по очереди выделялись кванты времени на выполнении их программ). Такая технология была распространена в период "господства" больших ЭВМ (IBM-370, ЕС-1045, ЕС-1060). Основным недостатком этой модели является резкое снижение производительности при увеличении числа пользователей.