Resumo

Neste módulo, aprendemos que:

  1. Há várias técnicas para recuperação de falhas na transação. O objetivo principal da recuperação é garantir a propriedade de atomicidade de uma transação. Se uma transação falhar antes de terminar sua execução, o mecanismo de recuperação precisa garantir que a transação não possui efeitos duradouros no banco de dados.
  2. Para que seja possível a recuperação, o SGBD de implementar mecanismos como caching, atualização no local ou sombra, imagens antes ou depois da cópia de um item de dados, operações de recuperação UNDO ou REDO, políticas steal/no-steal e force/no-force, check point do sistema e o protocolo de logging write-ahead.
  3. Há duas técnicas diferentes para a recuperação: atualização adiada e atualização imediata.
  4. As técnicas de atualização adiada postergam qualquer atualização real do banco de dados em disco até que uma transação atinja seu ponto de confirmação (commit). A transação força a gravação do log em disco antes de gravar as atualizações no banco de dados. Essa técnica, quando usada com certos métodos de controle de concorrência, é projetada para nunca exigir a reversão (rollback) da transação, e a recuperação consiste simplesmente em refazer as operações das transações confirmadas após o último checkpoint do log. A desvantagem é que muito espaço em buffer pode ser necessário, pois as atualizações são mantidas nos buffers e não são aplicadas ao disco até que a transação seja confirmada. A atualização adiada pode levar a um algoritmo de recuperação conhecido como NO-UNDO/REDO. As técnicas de atualização imediata podem aplicar mudanças ao banco de dados no disco antes que a transação alcance uma conclusão bem-sucedida. Quaisquer mudanças aplicadas ao banco de dados devem primeiro ser registradas no log e forçar a gravação para o disco, de modo que essas operações possam ser desfeitas, se for preciso.
Copyright © 2016 AIEC.