Skillnad mellan uppskjuten uppdatering och omedelbar uppdatering

Anonim

Uppskjuten uppdatering vs omedelbar uppdatering

Uppskjuten uppdatering och omedelbar uppdatering är två tekniker som används för att upprätthålla transaktionsloggfiler i Database Management Systems (DBMS). Transaktionsloggen (även kallad journalboken eller redo-loggen) är en fysisk fil som lagrar Transaktions-ID, transaktionens tidsstämpel, det gamla värdet och de nya värdena för data. Detta gör det möjligt för DBMS att hålla reda på data före och efter varje transaktion. När transaktionerna begås och databasen returneras till ett konsekvent tillstånd kan loggen avkortas för att ta bort de engagerade transaktionerna.

Uppskjuten uppdatering

Uppskjuten uppdatering kallad NO-UNDO / REDO är en teknik som används för att återställa / stödja transaktionsfel som uppstår på grund av operativsystem, ström, minne eller maskinfel. När en transaktion körs, görs inga uppdateringar eller ändringar i databasen genom transaktionen omedelbart. De spelas in i loggfilen. Dataändringar som registreras i loggfilen tillämpas på databasen på commit. Denna process heter "Re-doing". Vid återuppringning kasseras alla ändringar i data som registreras i loggfilen; Därför kommer inga ändringar att tillämpas på databasen. Om en transaktion misslyckas och den inte åtagits på grund av någon av ovanstående skäl kasseras poster i loggfilen och transaktionen startas om. Om ändringarna i en transaktion är begåda innan de kraschar, tillämpas sedan efter att systemet har startat om ändringar som registrerats i loggfilen i databasen.

Omedelbar uppdatering

Omedelbar uppdatering kallas även UNDO / REDO, det är också en annan teknik som används för att återställa / stödja transaktionsfel som uppstår på grund av operativsystem, ström, minne eller maskinfel. När en transaktion körs, skrivs någon av de uppdateringar eller ändringar som görs av transaktionen direkt i databasen. Både de ursprungliga värdena och de nya värdena registreras också i loggfilen innan ändringar görs i databasen. Vid förbindelse görs alla ändringar som gjorts i databasen permanent och arkiven i loggfilen kasseras. Vid återställning återställs gamla värden i databasen med de gamla värdena som lagras i loggfilen. Alla ändringar som gjorts av transaktioner till databasen kasseras och denna process heter "Un-doing". När systemet startas igen efter en krasch görs alla databasändringar permanent för engagerade transaktioner. För obestämda transaktioner återställs ursprungliga värden med värdena i loggfilen.

Vad är skillnaden mellan uppskjuten uppdatering och omedelbar uppdatering

Även om uppskjuten uppdatering och omedelbar uppdatering är två metoder för att återställa efter ett systemfel, är processen som varje metod använder annorlunda.I annorlunda uppdateringsmetod registreras eventuella ändringar som görs på data genom en transaktion först i en loggfil och appliceras i databasen på commit. I omedelbar uppdateringsmetod tillämpas ändringar som gjorts av en transaktion direkt i databasen och gamla värden och nya värden registreras i loggfilen. Dessa poster används för att återställa gamla värden vid återuppringning. I annorlunda uppdateringsmetod kasseras poster i loggfilen på rulla tillbaka och tillämpas aldrig på databasen. En nackdel med uppskjuten uppdateringsmetod är den ökade tiden som krävs för att återhämta sig vid systemfel. Å andra sidan är frekventa I / O-transaktioner medan transaktionen är aktiv, en nackdel i omedelbar uppdateringsmetod.