Sobes.tech
Junior — Middle

Come utilizza il database il registro WAL per il ripristino di una transazione interrotta?

sobes.tech AI

Risposta dell'AI

WAL (Write-Ahead Logging) è un meccanismo di registrazione nei database che garantisce un affidabile ripristino dei dati dopo guasti.

Quando una transazione modifica i dati, le modifiche vengono prima registrate nel log WAL sul disco, e poi applicate al database principale. Se il sistema si interrompe (ad esempio, a causa di un'interruzione di corrente), durante il ripristino il database legge il log WAL e ripete (redo) o annulla (undo) le transazioni in corso, per riportare i dati a uno stato coerente.

In questo modo, WAL permette:

  • di garantire l'atomicità delle transazioni.
  • di recuperare rapidamente dopo i guasti, applicando solo le modifiche dal log.

Processo approssimativo di ripristino:

  1. All'avvio, il database legge il log WAL.
  2. Applica tutte le transazioni completate.
  3. Annulla le transazioni non completate.
  4. Dopo di che, il database è pronto a lavorare con dati coerenti.