Utsatt oppdatering vs umiddelbar oppdatering
Utsatt oppdatering og umiddelbar oppdatering er to teknikker som brukes til å vedlikeholde transaksjonsloggfiler i Database Management Systems (DBMS). Transaksjonslogg (også referert til som journalsloggen eller gjenta loggen) er en fysisk fil som lagrer Transaksjons-ID, transaksjonens tidsstempel, den gamle verdien og de nye verdiene av dataene. Dette gjør det mulig for DBMS å holde oversikt over dataene før og etter hver transaksjon. Når transaksjonene er forpliktet og databasen returneres til en konsistent tilstand, kan loggen bli avkortet for å fjerne de forpliktede transaksjonene.
Utsatt oppdatering
Utsatt oppdatering også kalt NO-UNDO / REDO er en teknikk som brukes til å gjenopprette / støtte transaksjonsfeil som oppstår på grunn av operativsystem, strøm, minne eller maskinfeil. Når en transaksjon kjører, gjøres ingen oppdateringer eller endringer som er gjort i databasen ved transaksjonen, ikke umiddelbart. De registreres i loggfilen. Dataendringer registrert i loggfilen blir brukt på databasen på commit. Denne prosessen kalles "Re-doing". Ved tilbakeringing blir eventuelle endringer i data som er registrert i loggfilen kassert; Derfor vil ingen endringer bli brukt på databasen. Hvis en transaksjon feiler og det ikke er forpliktet på grunn av noen av årsakene nevnt ovenfor, blir postene i loggfilen kassert og transaksjonen startet på nytt. Hvis endringene i en transaksjon er begått før de krasjer, er det etter at systemet startes på nytt, endringer som er registrert i loggfilen, lagt til i databasen.
Umiddelbar oppdatering
Umiddelbar oppdatering også kalt UNDO / REDO, er også en annen teknikk som brukes til å gjenopprette / støtte transaksjonsfeil som oppstår på grunn av operativsystem, strøm, minne eller maskinfeil. Når en transaksjon kjører, skrives noen av oppdateringene eller endringene fra transaksjonen direkte inn i databasen. Både de opprinnelige verdiene og de nye verdiene registreres også i loggfilen før endringer gjøres i databasen. Ved forpliktelse blir alle endringer som er gjort i databasen permanent, og postene i loggfilen blir kassert. Ved tilbakeringing gjenopprettes gamle verdier i databasen ved hjelp av de gamle verdiene som er lagret i loggfilen. Alle endringene som gjøres ved transaksjoner til databasen, blir kassert og denne prosessen kalles "Un-doing". Når systemet starter på nytt etter et krasj, blir alle databaseendringer gjort permanente for forpliktede transaksjoner. For ubegrensede transaksjoner gjenopprettes originale verdier ved hjelp av verdiene i loggfilen.
Hva er forskjellen mellom utsatt oppdatering og umiddelbar oppdatering
Selv om utsatt oppdatering og umiddelbar oppdatering er to metoder for å gjenopprette etter en systemfeil, er prosessen som hver metode bruker, forskjellig. I annerledes oppdateringsmetode registreres eventuelle endringer som gjøres til dataene ved en transaksjon, først i en loggfil og brukes til databasen på commit. I umiddelbar oppdateringsmetode blir endringer gjort av en transaksjon direkte brukt til databasen og gamle verdier og nye verdier registreres i loggfilen. Disse postene brukes til å gjenopprette gamle verdier ved tilbakeringing. I annerledes oppdateringsmetode kastes poster i loggfilen på rulle tilbake og blir aldri brukt på databasen. En ulempe ved utsatt oppdateringsmetode er den økte tiden som skal utvinnes ved systemfeil. På den annen side er hyppige I / O-operasjoner mens transaksjonen er aktiv, en ulempe i umiddelbar oppdateringsmetode.