In computer science, write-ahead logging (WAL) is a family of techniques for providing atomicity and durability (two of the ACID properties) in database systems.
[1] A write ahead log is an append-only auxiliary disk-resident structure used for crash and transaction recovery.
Imagine a program that is in the middle of performing some operation when the machine it is running on loses power.
After a certain amount of operations, the program should perform a checkpoint, writing all the changes specified in the WAL to the database and clearing the log.
The main advantage of doing updates in-place is that it reduces the need to modify indexes and block lists.