Механизм базы данных

Оценить
(0 голоса)

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

Менеджер блокирования от имени пользователей добивается блокировок таблиц или строк, а иногда и страниц, чтобы гарантировать, что информация не будет потеряна или повреждена в случае попытки одновременного обновления данных. Блокировки предохраняют от доступа к недостоверным данным, а также от обновления защищенных данных. Роль менеджера блокирования детально обсуждается в разделе "Подсистема блокировки".

Менеджер данных отвечает за поиск и обновление данных таким образом, чтобы сохранить целостность данных. Механизм, используемый менеджером данных, подчиняется модели ACID.

ACID-свойства относятся к таким характеристикам базы данных как атомность, согласованность, изоляция и долговечность, которые поддерживаются для всех обращений к базе данных.

Атомность означает, что все модификации в базе данных выполняются либо полностью, либо не выполняются вообще. Так, транзакции, включающей два или более изменения данных, подчиняются либо все операции внесения изменений, либо ни одна из них.

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

Изоляция означает, что еще не зафиксированная транзакция должна оставаться изолированной от всех остальных транзакций. Поэтому каждая транзакция ведет себя так, словно она единственная выполняющаяся транзакция. База данных поддерживает несколько уровней изоляции; обычно для приложений DSS требуются более низкие уровни изоляции, чем для приложений OLTP. Хотя даже OLTP-транзакции могут и не требовать наивысших уровней изоляции. Например, для запроса диаграмм отчета продаж за день может и не понадобиться выдача результатов с точностью до одной миллисекунды. И в этом случае не столь существенно, если некоторая часть данных, получаемая по запросу, одновременно заменяется в результате другой транзакции.

Долговечность означает, что зафиксированные данные сохраняются таким образом, что база данных может выдержать аварийный сбой компонента и продолжать, функционировать после перезапуска и восстановления системы. Поэтому зафиксированные транзакции способны функционировать после сбоев.

Программист может использовать преимущества модели ACID, просто включая BEGIN в SQL-код как начало транзакции и COMMIT как завершение или ROLLBACK, если необходимо вернуть изменения.

Оптимизатор запросов
Базы данных
Dynamic ISM
Регистратор
Очистители страниц

Добавить комментарий


Защитный код
Обновить