Глава 1 Основные понятия

1.2 Системы управления базами данных

Понятие и функции СУБД

Архитектура СУБД

Вопросы для самоконтроля

Понятие и функции СУБД

Система управления базами данных (СУБД) - совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.

Предполагается, что СУБД выполняет следующие основные функции:

1. Определение данных. Обеспечивает пользователю возможность создавать новые БД определять их схему (логическую структуру) с помощью специального языка описания данных (ЯОД).

2. Обработка данных. Позволяет "запрашивать" данные и изменять их с помощью специального языка (ЯМД).

3. Защита, восстановление и сохранение целостности данных. БД позволяет хранить достаточно большое время большие массивы информации, обеспечивая защиту от порчи и несанкционированного доступа. Поддержание надежного хранения данных в БД требует избыточности хранения данных, причем та их часть, которая используется для восстановления, должна храниться особо надежно. Наиболее распространенный метод поддержания такой избыточной информации - ведение журнала изменений БД.

Журнал - это особая часть БД, недоступная пользователям СУБД и поддерживаемая особо тщательно (иногда поддерживаются две копии журнала, располагаемые на разных физических дисках), в которую поступают записи обо всех изменениях основной части БД.

Ведение журнала обычно основывается на стратегии "упреждающей" записи в журнал (так называемого протокола Write Ahead Log - WAL). То есть, запись об изменении любого объекта БД должна попасть во внешнюю память журнала раньше, чем измененный объект попадет во внешнюю память основной части БД. Известно, если в СУБД корректно соблюдается протокол WAL, то с помощью журнала можно решить все проблемы восстановления БД после любого сбоя. Журналы удобны при восстановлении базы данных после мягкого сбоя (например, временное отключение питания).

Для восстановления БД после жесткого сбоя используют журнал и архивную копию БД. Архивная копия - это полная копия БД к моменту начала заполнения журнала. Конечно, для нормального восстановления БД после жесткого сбоя необходимо, чтобы журнал не пропал. Как уже отмечалось, к сохранности журнала во внешней памяти в СУБД предъявляются особо повышенные требования. Тогда восстановление БД состоит в том, что исходя из архивной копии по журналу воспроизводится работа всех транзакций, которые закончились к моменту сбоя. В принципе можно даже воспроизвести работу незавершенных транзакций и продолжить их работу после конца восстановления. Однако в реальных системах это обычно не делается, поскольку процесс восстановления после жесткого сбоя является достаточно длительным.

4. Многопользовательский доступ. Контролирует доступ к данным множества пользователей, не допуская одновременного доступа, который может случайно испортить данные.

5. Производительность. Очевидно, что СУБД должна выполнять все указанные функции с максимально возможной эффективностью.
Содержание Следующая страница