3 - Logging write-ahead, steal/no-steal e force/no-force

Quando a atualização no local é utilizada, é necessário usar um log para recuperação. Nesse caso, o mecanismo de recuperação precisa garantir que a BFIM do item de dados esteja registrada na entrada de log apropriada e que a entrada de log seja esvaziada para o disco antes de a BFIM ser modificada pela AFIM no banco de dados em disco. Esse processo geralmente é conhecido como logging write-ahead, e é necessário poder desfazer (UNDO) a operação se isso for exigido durante a recuperação.

Antes de podermos descrever um protocolo para o logging write-ahead, precisamos distinguir entre dois tipos de informação de entrada de log incluída para um comando de gravação:

Uma entrada de log tipo REDO inclui um valor novo (AFIM) do item gravado pela operação, pois isso é necessário para refazer seu efeito com base no log (ao definir o valor do item no banco de dados em disco para a sua AFIM).

As entradas de log tipo UNDO incluem o valor antigo (BFIM) do item, visto que isso é necessário para desfazer o efeito da operação baseada no log (ao definir o valor do item no banco de dados de volta para a sua BFIM). Em um algoritmo UNDO/REDO, os dois tipos de entradas de log são combinados. Além disso, quando o rollback em cascata é possível, entradas read_item no log são consideradas entradas tipo UNDO.

Protocolo Logging write-ahead.
Copyright © 2016 AIEC.