8. Управление параллельным доступом
Должен обеспечиваться параллельный доступ множества пользователей к совместно обрабатываемым данным.
Параллельный доступ просто организовать, если все пользователи выполняют только чтение данных. Однако, если хотя бы один из них попытается обновить данные, может возникнуть конфликт.
СУБД должна гарантировать, что при одновременном доступе к БД многих пользователей подобных конфликтов не произойдет.
Типичная структура СУБД
Типовая организация современной СУБД
Ядро СУБД – программный комплекс, обеспечивающий непосредственное выполнение физических операций над БД. Основная резидентная часть СУБД. В архитектуре «клиент-сервер» – основная составляющая серверной части системы.
Среда – совокупность интерфейсных модулей, обеспечивающих связь пользователей с ядром и через него с БД. Включает:
пользовательские интерфейсы;
утилиты администратора БД (АБД).
Компоненты ядра СУБД
Менеджер данных (управление данными во внешней памяти).
Менеджер буферов (управление буферами оперативной памяти).
Менеджер транзакций (управление транзакциями).
Менеджер журнала (журнализация).
Функции компонентов взаимосвязаны. Компоненты взаимодействуют по продуманным протоколам.
Ядро СУБД имеет собственный интерфейс. Он недоступен пользователям напрямую. Используется в программах, производимых компилятором SQL, и утилитах БД.
Утилиты администратора БД
Образуют библиотеку программ обслуживания БД в привилегированном режиме (работа пользовательских средств параллельно утилитам не разрешена). Функции:
подготовка дисковой памяти к размещению БД;
подготовка справок о составе БД, структуре файлов и т.д.;
загрузка и дозагрузка файла БД;
модификация БД;
модификация файла (таблицы, группы таблиц);
выгрузка образа БД (файла) для сохранения в архиве;
создание и ведение словаря данных и др.