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