Forskellen mellem udskudt opdatering og øjeblikkelig opdatering

Forskellen mellem udskudt opdatering og øjeblikkelig opdatering
Forskellen mellem udskudt opdatering og øjeblikkelig opdatering

Video: Forskellen mellem udskudt opdatering og øjeblikkelig opdatering

Video: Forskellen mellem udskudt opdatering og øjeblikkelig opdatering
Video: Grundlæggende kemikursus - Forskellen på hoved- og undergrupper i DPS 8 min 2024, Juli
Anonim

Udskudt opdatering vs. øjeblikkelig opdatering

Udskudt opdatering og øjeblikkelig opdatering er to teknikker, der bruges til at vedligeholde transaktionslogfiler for databasestyringssystemer (DBMS). Transaktionslog (også kaldet journalloggen eller redo-loggen) er en fysisk fil, der gemmer transaktions-id'et, tidsstemplet for transaktionen, den gamle værdi og de nye værdier af dataene. Dette gør det muligt for DBMS at holde styr på data før og efter hver transaktion. Når transaktionerne er forpligtet, og databasen returneres til en konsistent tilstand, kan loggen muligvis afkortes for at fjerne de forpligtede transaktioner.

Udskudt opdatering

Udskudt opdatering også kaldet NO-UNDO/REDO er en teknik, der bruges til at genoprette/understøtte transaktionsfejl, der opstår på grund af operativsystem-, strøm-, hukommelses- eller maskinfejl. Når en transaktion kører, udføres eventuelle opdateringer eller ændringer i databasen af transaktionen ikke med det samme. De registreres i logfilen. Dataændringer, der er registreret i logfilen, anvendes på databasen ved commit. Denne proces kaldes "Re-doing". Ved tilbagerulning kasseres eventuelle ændringer af data, der er registreret i logfilen; derfor vil der ikke blive anvendt ændringer i databasen. Hvis en transaktion mislykkes, og den ikke er begået på grund af nogen af de ovennævnte årsager, kasseres registreringerne i logfilen, og transaktionen genstartes. Hvis ændringerne i en transaktion er begået før nedbrud, vil ændringer, der er registreret i logfilen, blive anvendt på databasen, efter at systemet er genstartet.

Øjeblikkelig opdatering

Øjeblikkelig 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-, hukommelses- eller maskinfejl. Når en transaktion kører, bliver enhver af opdateringerne eller ændringerne foretaget af transaktionen skrevet direkte ind i databasen. Både de oprindelige værdier og de nye værdier registreres også i logfilen, før der foretages ændringer i databasen. Ved commit gøres alle ændringer i databasen permanente, og registreringerne i logfilen kasseres. Ved tilbagerulning gendannes gamle værdier i databasen ved hjælp af de gamle værdier, der er gemt i logfilen. Alle ændringer foretaget af transaktioner til databasen kasseres, og denne proces kaldes "Un-doing". Når systemet genstarter efter et nedbrud, bliver alle databaseændringer gjort permanente for forpligtede transaktioner. For ikke-forpligtede transaktioner gendannes originale værdier ved hjælp af værdierne i logfilen.

Hvad er forskellen mellem udskudt opdatering og øjeblikkelig opdatering

Selv om udskudt opdatering og øjeblikkelig opdatering er to metoder til retablering efter en systemfejl, er den proces, som hver metode bruger, forskellig. I en anden opdateringsmetode registreres alle ændringer, der er foretaget i dataene af en transaktion, først i en logfil og overføres til databasen ved commit. I den øjeblikkelige opdateringsmetode anvendes ændringer foretaget af en transaktion direkte på databasen, og gamle værdier og nye værdier registreres i logfilen. Disse registreringer bruges til at gendanne gamle værdier ved tilbagerulning. I en anden opdateringsmetode kasseres poster i logfilen ved tilbagerulning og anvendes aldrig på databasen. En ulempe ved udskudt opdateringsmetode er den øgede tid, det tager at gendanne i tilfælde af en systemfejl. På den anden side er hyppige I/O-operationer, mens transaktionen er aktiv, en ulempe ved den øjeblikkelige opdateringsmetode.

Anbefalede: