Транзакции. Восстановление. Алгоритм ARIES — различия между версиями
Nauru (обсуждение | вклад) (Новая страница: «==Aries == В частности, следует отметить, что в классическом алгоритме операции отмены внесе...») |
Nauru (обсуждение | вклад) |
||
Строка 2: | Строка 2: | ||
В частности, следует отметить, что в классическом алгоритме операции отмены | В частности, следует отметить, что в классическом алгоритме операции отмены | ||
внесенных обновлений (называемые также откатом) выполняются перед операциями | внесенных обновлений (называемые также откатом) выполняются перед операциями | ||
− | повторного внесения изменений (которые принято также называть накатом) | + | повторного внесения изменений (которые принято также называть накатом).Выполнение процедур алгоритма ARIES подразделяется на описанные |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
ниже три основных этапа. | ниже три основных этапа. | ||
Строка 14: | Строка 8: | ||
* Накат. Начиная с позиции журнала, которая определена на этапе анализа, восстановление базы данных до того состояния, в котором она находилась во время аварийного останова. | * Накат. Начиная с позиции журнала, которая определена на этапе анализа, восстановление базы данных до того состояния, в котором она находилась во время аварийного останова. | ||
* Откат. Отмена результатов внесения изменений теми транзакциями, фиксация которых не была выполнена. | * Откат. Отмена результатов внесения изменений теми транзакциями, фиксация которых не была выполнена. | ||
+ | |||
+ | ==Общий смысл== | ||
+ | Следует отметить, что принцип "накат перед откатом" предусматривает повторное внесение изменений, сделанных теми транзакциями, которые не были зафиксированы и для этих изменений в дальнейшем требуется снова выполнять откат. Отчасти по этой причине этап наката в алгоритме ARIES часто называют повторением истории. Заслуживает также внимания тот факт, что в алгоритме ARIES предусматривается запись в журнал всех операций, выполняемых на этапе отката, поэтому, если в ходе выполнения данной процедуры перезапуска снова произойдет аварийный останов системы (а это отнюдь нельзя исключить), то обновления, для которых уже был выполнен откат, не будут отменены повторно при следующем перезапуске. |
Версия 17:38, 14 января 2016
Aries
В частности, следует отметить, что в классическом алгоритме операции отмены внесенных обновлений (называемые также откатом) выполняются перед операциями повторного внесения изменений (которые принято также называть накатом).Выполнение процедур алгоритма ARIES подразделяется на описанные ниже три основных этапа.
- Анализ. Формирование списков REDO (накат) и UNDO (откат).
- Накат. Начиная с позиции журнала, которая определена на этапе анализа, восстановление базы данных до того состояния, в котором она находилась во время аварийного останова.
- Откат. Отмена результатов внесения изменений теми транзакциями, фиксация которых не была выполнена.
Общий смысл
Следует отметить, что принцип "накат перед откатом" предусматривает повторное внесение изменений, сделанных теми транзакциями, которые не были зафиксированы и для этих изменений в дальнейшем требуется снова выполнять откат. Отчасти по этой причине этап наката в алгоритме ARIES часто называют повторением истории. Заслуживает также внимания тот факт, что в алгоритме ARIES предусматривается запись в журнал всех операций, выполняемых на этапе отката, поэтому, если в ходе выполнения данной процедуры перезапуска снова произойдет аварийный останов системы (а это отнюдь нельзя исключить), то обновления, для которых уже был выполнен откат, не будут отменены повторно при следующем перезапуске.