Sobes.tech
Junior — Middle

Kako baza podataka koristi WAL dnevnik za oporavak prekinute transakcije?

sobes.tech АИ

Одговор од АИ

WAL (Write-Ahead Logging) је механизам за вођење дневника у базама података који обезбеђује поуздано опоравак података након кварова.

Када транзакција мења податке, промене се најпре записују у WAL дневник на диск, а затим се примењују на главну базу. Ако систем буде прекинут (на пример, због квара напајања), приликом опоравка база чита WAL дневник и понавља (redo) или отказује (undo) транзакције које су биле у току, како би подаци били у конзистентном стању.

На овај начин, WAL омогућава:

  • гаранцију атомарности транзакција.
  • брзо опоравак након кварова, применом само измена из дневника.

Приближан процес опоравка:

  1. При покретању, база чита WAL дневник.
  2. Примењује све завршене транзакције.
  3. Отказује незавршене транзакције.
  4. Након тога, база је спремна за рад са конзистентним подацима.