Транзакции. Восстановление. Классический алгоритм

Материал из Викиконспекты
Версия от 17:26, 14 января 2016; Nauru (обсуждение | вклад) (Новая страница: «==Восстановление== Восстановление в системе баз данных означает, в первую очередь, восста...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Восстановление

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

Транзакции

Транзакция — это логическая единица работы; она начинается с выполнения операции BEGIN TRANSACTION и заканчивается операцией COMMIT(зафиксировать) или ROLLBACK(откатить все изменения).

Журнал восстановления

в системе ведется журнал на ленте или (чаще всего) на диске, в котором регистрируются подробные сведения обо всех обновлениях, в частности, значения обновляемых объектов (например кортежей) до и после каждого обновления.12.jpg Отказ системы произошел в момент времени tf. Ближайшая к моменту tf контрольная точка была создана в момент времени tc. Транзакция типа Т1 успешно завершена до момента времени tc. Транзакция типа Т2 начата до момента tc и успешно завершена после момента времени tc, но до момента времени tf.

  • Транзакция типа ТЗ также начата до момента времени tc, но не завершена к мо

менту времени tf.

  • Транзакция типа Т4 начата после момента времени tc и успешно завершена до

момента времени tf.

  • Наконец, транзакция типа Т5 также начата после момента tc, но не завершена к

моменту времени tf