Loggbaserat återställningsschema med uppskjuten databasändring
I det loggbaserade återställningsschemat med uppskjuten databasmodifieringsmetod skrivs loggposterna till loggbufferten (en del av huvudminnet) innan de appliceras på databasen. Detta möjliggör snabbare återställning i händelse av ett systemfel, eftersom loggposterna kan spelas upp från loggbufferten istället för att behöva läsas från själva databasen.
Den största fördelen med detta tillvägagångssätt är att det förbättrar prestandan genom att minska antalet I/O-operationer som krävs för att uppdatera databasen. Men det introducerar också risken för dataförlust om loggbufferten går förlorad eller skadas innan den spolas till databasen.
För att minska denna risk töms loggbufferten vanligtvis till databasen med jämna mellanrum, eller när den når en viss storlek. Dessutom skrivs loggposterna ofta till en icke-flyktig lagringsenhet, såsom en disk, för att säkerställa att de inte går förlorade i händelse av ett strömavbrott.
Här är stegen som är involverade i det loggbaserade återställningsschemat med uppskjuten databasmodifieringsmetod:
1. När en transaktion börjar skrivs en loggpost till loggbufferten.
2. Transaktionen exekveras och dess resultat lagras i loggbufferten.
3. När transaktionen genomförs rensas loggposterna till databasen och transaktionen anses vara fullständig.
4. Om systemet misslyckas innan loggposterna har tömts till databasen, kan loggposterna spelas upp från loggbufferten för att återställa databasen till ett konsekvent tillstånd.
Detta tillvägagångssätt används i många kommersiella databassystem, inklusive Oracle, IBM DB2 och Microsoft SQL Server.