Forskel mellem udskudt opdatering og øjeblikkelig opdatering

Anonim

Udskudt opdatering vs øjeblikkelig opdatering

Udskudt opdatering og øjeblikkelig opdatering er to teknikker, der bruges til at opretholde transaktionslogfiler i Database Management Systems (DBMS). Transaktionslogbog (også kaldet journalen logg eller redo-loggen) er en fysisk fil, der gemmer Transaktions-id, transaktionens tidsstempel, den gamle værdi og de nye værdier af dataene. Dette gør det muligt for DBMS at holde styr på dataene før og efter hver transaktion. Når transaktionerne er begået, og databasen returneres til en sammenhængende tilstand, kan loggen blive afkortet for at fjerne de indgåede transaktioner.

Udskudt opdatering

Udskudt opdatering også kaldet NO-UNDO / REDO er en teknik, der bruges til at gendanne / understøtte transaktionsfejl, der opstår på grund af operativsystem, strøm, hukommelse eller maskinfejl. Når en transaktion kører, foretages ikke nogen opdateringer eller ændringer i databasen ved transaktionen med det samme. De registreres i logfilen. Dataændringer registreret i logfilen anvendes til databasen på commit. Denne proces kaldes "Re-doing". Ved tilbagekaldning kasseres eventuelle ændringer af data, der er optaget i logfilen. Derfor vil der ikke blive anvendt ændringer i databasen. Hvis en transaktion fejler, og den ikke er begået på grund af en af ​​de ovennævnte grunde, kasseres posterne i logfilen, og transaktionen genstartes. Hvis ændringerne i en transaktion er begået, før de går i stykker, bliver de ændringer, der er registreret i logfilen, efter at systemet er genstartet, anvendt i databasen.

Umiddelbar opdatering

Umiddelbar opdatering også kaldet UNDO / REDO, er også en anden teknik, der bruges til at genoprette / understøtte transaktionsfejl, der opstår på grund af operativsystem, strøm, hukommelse eller maskinfejl. Når en transaktion kører, skrives nogen af ​​de opdateringer eller ændringer, der foretages af transaktionen direkte i databasen. Både de oprindelige værdier og de nye værdier registreres også i logfilen, inden der foretages ændringer i databasen. Ved forpligten foretages alle ændringer i databasen permanent, og arkiverne i logfilen kasseres. Ved tilbagekaldelse gendannes gamle værdier til databasen ved hjælp af de gamle værdier, der er gemt i logfilen. Alle ændringer i transaktioner til databasen kasseres, og denne proces kaldes "Un-doing". Når systemet genstarter efter et nedbrud, bliver alle databaseændringer permanent for indgåede transaktioner. For ikke-indgåede transaktioner genoprettes de oprindelige værdier ved hjælp af værdierne i logfilen.

Hvad er forskellen mellem udskudt opdatering og øjeblikkelig opdatering

Selvom udskudt opdatering og øjeblikkelig opdatering er to metoder til at gendanne efter et systemfejl, er processen, som hver metode bruger, forskellig.I en anden opdateringsmetode registreres eventuelle ændringer i dataene ved en transaktion først i en logfil og anvendes til databasen på commit. I øjeblikkelig opdateringsmetode anvendes ændringer foretaget af en transaktion direkte til databasen, og gamle værdier og nye værdier registreres i logfilen. Disse poster bruges til at genoprette gamle værdier ved tilbagekaldelse. I en forskellig opdateringsmetode kasseres poster i logfilen på rulle tilbage og anvendes aldrig til databasen. En ulempe ved udskudt opdateringsmetode er den øgede tid, der skal tages for at komme sig i tilfælde af systemfejl. På den anden side er hyppige I / O-operationer, mens transaktionen er aktiv, en ulempe ved øjeblikkelig opdateringsmetode.