Транзакции. Восстановление. Алгоритм ARIES — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Новая страница: «==Aries == В частности, следует отметить, что в классическом алгоритме операции отмены внесе...»)
 
м (rollbackEdits.php mass rollback)
 
(не показаны 3 промежуточные версии 3 участников)
Строка 2: Строка 2:
 
В частности, следует отметить, что в классическом алгоритме  операции отмены
 
В частности, следует отметить, что в классическом алгоритме  операции отмены
 
внесенных обновлений (называемые также откатом) выполняются перед операциями
 
внесенных обновлений (называемые также откатом) выполняются перед операциями
повторного внесения изменений (которые принято также называть накатом). На первых
+
повторного внесения изменений (которые принято также называть накатом).Выполнение процедур алгоритма ARIES подразделяется на описанные
порах во многих системах восстановление было организовано именно таким образом, но
 
для повышения эффективности в современных системах эти действия происходят в об-
 
ратной последовательности. В настоящее время в большинстве систем фактически
 
используется схема, называемая ARIES [15.20], или другая организация работы, весьма
 
похожая на эту схему, в которой операции наката в действительности осуществляются в
 
первую очередь. Выполнение процедур алгоритма ARIES подразделяется на описанные
 
 
ниже три основных этапа.
 
ниже три основных этапа.
  
Строка 14: Строка 8:
 
* Накат. Начиная с позиции журнала, которая определена на этапе анализа, восстановление базы данных до того состояния, в котором она находилась во время аварийного останова.
 
* Накат. Начиная с позиции журнала, которая определена на этапе анализа, восстановление базы данных до того состояния, в котором она находилась во время аварийного останова.
 
* Откат. Отмена результатов внесения изменений теми транзакциями, фиксация которых не была выполнена.
 
* Откат. Отмена результатов внесения изменений теми транзакциями, фиксация которых не была выполнена.
 +
 +
==Общий смысл==
 +
Следует отметить, что принцип "накат перед откатом" предусматривает повторное внесение изменений, сделанных теми транзакциями, которые не были зафиксированы, и для этих изменений в дальнейшем требуется снова выполнять откат. Отчасти по этой причине этап наката в алгоритме ARIES часто называют повторением истории. Заслуживает также внимания тот факт, что в алгоритме ARIES предусматривается запись в журнал всех операций, выполняемых на этапе отката, поэтому, если в ходе выполнения данной процедуры перезапуска снова произойдет аварийный останов системы (а это отнюдь нельзя исключить), то обновления, для которых уже был выполнен откат, не будут отменены повторно при следующем перезапуске.

Текущая версия на 19:05, 4 сентября 2022

Aries

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

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

Общий смысл

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