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.