Sobes.tech
Junior — Middle

Ako databáza využíva WAL záznam na obnovenie prerušených transakcií?

sobes.tech AI

Odpoveď od AI

WAL (Write-Ahead Logging) je mechanizmus zaznamenávania v databázach, ktorý zabezpečuje spoľahlivé obnovenie dát po zlyhaní.

Keď transakcia mení dáta, zmeny sa najskôr zaznamenajú do WAL denníka na disk, a potom sa aplikujú na hlavnú databázu. Ak dôjde k prerušeniu systému (napríklad kvôli výpadku napájania), pri obnove databáza číta WAL denník a opakuje (redo) alebo ruší (undo) transakcie, ktoré boli v procese, aby dáta boli v konzistentnom stave.

Týmto spôsobom WAL umožňuje:

  • zaručiť atomickosť transakcií.
  • rýchlo sa zotaviť po zlyhaní, aplikovaním iba zmien z denníka.

Približný proces obnovenia:

  1. Pri spustení databáza číta WAL denník.
  2. Aplikuje všetky dokončené transakcie.
  3. Vráti nedokončené transakcie.
  4. Potom je databáza pripravená pracovať s konzistentnými dátami.