Forskellen mellem udsat opdatering og øjeblikkelig opdatering

Udskudt opdatering vs øjeblikkelig opdatering

Udskudt opdatering og øjeblikkelig opdatering er to teknikker, der bruges til at vedligeholde transaktionslogfiler til databasestyringssystemer (DBMS). Transaktionslog (også kaldet journaljournal eller genindførelseslog) 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 ensartet tilstand, kan loggen være afkortet for at fjerne de forpligtede 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-, hukommelses- eller maskinfejl. Når en transaktion kører, udføres ikke opdateringer eller ændringer, der foretages i databasen ved transaktionen, med det samme. De registreres i logfilen. Dataændringer, der er registreret i logfilen, anvendes til databasen ved commit. Denne proces kaldes "Re-doing". Ved tilbagelevering kasseres ændringer i data, der er optaget i logfilen; derfor vil der ikke blive anvendt nogen ændringer i databasen. Hvis en transaktion mislykkes, og den ikke er begået på grund af nogen af ​​de ovenfor nævnte grunde, kasseres posterne i logfilen, og transaktionen genstartes. Hvis ændringerne i en transaktion begås før nedbrud, anvendes efter ændring af systemet ændringer, der er registreret i logfilen på databasen.

Umiddelbar opdatering

Umiddelbar opdatering, også kaldet UNDO / REDO, er også en anden teknik, der bruges til at gendanne / understøtte transaktionsfejl, der opstår på grund af operativsystem-, strøm-, hukommelses- eller maskinfejl. Når en transaktion kører, skrives nogen af ​​de opdateringer eller ændringer, der er foretaget af transaktionen, direkte i databasen. Både de originale værdier og de nye værdier registreres også i logfilen, før der foretages ændringer i databasen. Ved forpligtelse gøres alle ændringer, der er foretaget i databasen, permanente, og posterne i logfilen kasseres. Ved tilbagestilling gendannes gamle værdier i databasen ved hjælp af de gamle værdier, der er gemt i logfilen. Alle ændringer foretaget ved transaktioner til databasen kasseres, og denne proces kaldes "Ikke-gør". Når systemet genstarter efter et nedbrud, gøres alle databasændringerne permanente for forpligtede transaktioner. For ikke-tilladte transaktioner gendannes originale værdier ved hjælp af værdierne i logfilen.

Hvad er forskellen mellem udsat opdatering og øjeblikkelig opdatering

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