Loggbasert gjenopprettingsskjema med utsatt databaseendring
I det loggbaserte gjenopprettingsskjemaet med utsatt databasemodifikasjonstilnærming, skrives loggpostene til loggbufferen (en del av hovedminnet) før de brukes på databasen. Dette muliggjør raskere gjenoppretting i tilfelle systemfeil, da loggpostene kan spilles av på nytt fra loggbufferen i stedet for å måtte leses fra selve databasen.
Hovedfordelen med denne tilnærmingen er at den forbedrer ytelsen ved å redusere antall I/O-operasjoner som kreves for å oppdatere databasen. Det introduserer imidlertid også risikoen for tap av data hvis loggbufferen går tapt eller blir ødelagt før den tømmes til databasen.
For å redusere denne risikoen tømmes loggbufferen vanligvis til databasen med jevne mellomrom, eller når den når en viss størrelse. I tillegg blir loggpostene ofte skrevet til en ikke-flyktig lagringsenhet, for eksempel en disk, for å sikre at de ikke går tapt i tilfelle strømbrudd.
Her er trinnene som er involvert i det loggbaserte gjenopprettingsskjemaet med utsatt databasemodifikasjonstilnærming:
1. Når en transaksjon begynner, skrives en loggpost til loggbufferen.
2. Transaksjonen utføres og resultatene lagres i loggbufferen.
3. Når transaksjonen forpliktes, tømmes loggpostene til databasen og transaksjonen anses å være fullført.
4. Hvis systemet svikter før loggpostene er tømt til databasen, kan loggpostene spilles av på nytt fra loggbufferen for å gjenopprette databasen til en konsistent tilstand.
Denne tilnærmingen brukes i mange kommersielle databasesystemer, inkludert Oracle, IBM DB2 og Microsoft SQL Server.