Protocolos para recuperação que evitam propagação de rollbacks (que incluem quase todos os protocolos práticos) não exigem que operações READ sejam gravadas no log do sistema. Contudo, se o log também for usado para outras finalidades, como auditoria (mantendo registro de todas as operações do banco de dados) então essas entradas podem ser incluídas.
Além disso, alguns protocolos de recuperação que exigem entradas WRITE mais simples só incluem um valor novo ou valor antigo em vez de incluir ambos.
Observe que não estamos assumindo que todas as mudanças permanentes no banco de dados ocorrem nas transações, de modo que a noção de recuperação de uma falha de transação equivale a desfazer ou refazer operações de transação individualmente com base no log. Se o sistema falhar, podemos recuperar para um estado coerente do banco de dados ao examinar o log e usar uma das técnicas de recuperação.
|
Também pode ser necessário refazer uma operação se uma transação tiver suas atualizações registradas no log, mas houver uma falha antes que o sistema possa estar certo de que todos esses novos valores tenham sido gravados no banco de dados real em disco com base nos buffers da memória principal.
|