Журнализация

Лекция № 7

3. Управление транзакциями. Транзакция – это последовательность операций над базами данных рассматриваемых СУБД, как единое целое. Транзакция либо успешно выполняется и СУБД фиксирует изменения в базе данных, либо ни одно из изменений не отражается на состояниях базы данных, то есть транзакция НЕ ВЫПОЛНЯЕТСЯ, то есть не может быть такого случая, когда транзакция выполняется частично. Каждая транзакция начинается при целостном состоянии базы данных и после выполнения транзакции состояние базы данных также остаётся целостным. Поскольку базы данных бывают как однопользовательскими, так и многопользовательскими. В многопользовательских системах важным является понятие серии транзакции. Эта ситуация возникает тогда, когда несколько пользователей активизируют одновременно свои транзакции в базе данных.

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

Существует понятие серийного плана транзакции. Это такой план, который обеспечивает успешное серийное выполнение транзакции.

Одним из важных параметров СУБД является надёжность хранения данных во внешней памяти. Под этим понимается, что СУБД должна уметь восстановить состояние базы данных после аппаратного и программного сбоя. В случае аппаратных сбоев рассматриваются два вида:

1. Мягкие сбои. Например, внезапное выключение питания.

2. Жёсткие сбои, которые характеризуются потерей информации на носителях внешней памяти.

Примерами программных сбоев могут служить, например:

1. Аварийное завершение, по причине ошибки в программе.

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

Наиболее распространённым методом поддержания избыточности является ведение журнала изменения базы данных. Журнал – это особая часть базы данных, которая недоступна пользователю и которая поддерживается с особой тщательностью. Иногда существует, например, 2 копии журнала, которые хранятся на разных физических носителях. В журнал поступают сведения обо всех изменениях базы данных. Как правило, при восстановлении состояния базы данных используют стратегию упреждающую записи в базе данных, то есть запись в журнал об изменениях в базе попадает раньше, чем эти изменения выполняются. Ситуация восстановления заключается в том, что происходит откат выполняемой транзакции.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: