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:
- Pri spustení databáza číta WAL denník.
- Aplikuje všetky dokončené transakcie.
- Vráti nedokončené transakcie.
- Potom je databáza pripravená pracovať s konzistentnými dátami.