Write-Ahead Logging: Database Recovery Demystified