Транзакции. Восстановление. Алгоритм ARIES

Материал из Викиконспекты
Перейти к: навигация, поиск

Aries[править]

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

  • Анализ. Формирование списков REDO (накат) и UNDO (откат).
  • Накат. Начиная с позиции журнала, которая определена на этапе анализа, восстановление базы данных до того состояния, в котором она находилась во время аварийного останова.
  • Откат. Отмена результатов внесения изменений теми транзакциями, фиксация которых не была выполнена.

Общий смысл[править]

Следует отметить, что принцип "накат перед откатом" предусматривает повторное внесение изменений, сделанных теми транзакциями, которые не были зафиксированы, и для этих изменений в дальнейшем требуется снова выполнять откат. Отчасти по этой причине этап наката в алгоритме ARIES часто называют повторением истории. Заслуживает также внимания тот факт, что в алгоритме ARIES предусматривается запись в журнал всех операций, выполняемых на этапе отката, поэтому, если в ходе выполнения данной процедуры перезапуска снова произойдет аварийный останов системы (а это отнюдь нельзя исключить), то обновления, для которых уже был выполнен откат, не будут отменены повторно при следующем перезапуске.