Odloženo ažuriranje u odnosu na trenutno ažuriranje
Odloženo ažuriranje i neposredno ažuriranje su dvije tehnike koje se koriste za održavanje datoteka evidencije transakcija sistema za upravljanje bazama podataka (DBMS). Dnevnik transakcija (koji se naziva i dnevnik dnevnika ili dnevnik ponavljanja) je fizička datoteka koja pohranjuje ID transakcije, vremensku oznaku transakcije, staru vrijednost i nove vrijednosti podataka. Ovo omogućava DBMS-u da prati podatke prije i nakon svake transakcije. Kada su transakcije predane i baza podataka se vrati u konzistentno stanje, dnevnik bi mogao biti skraćen kako bi se uklonile predane transakcije.
Odloženo ažuriranje
Odloženo ažuriranje koje se naziva i NO-UNDO/REDO je tehnika koja se koristi za oporavak/podršku greškama transakcija koje nastaju zbog kvarova operativnog sistema, napajanja, memorije ili mašine. Kada se transakcija pokrene, bilo kakva ažuriranja ili izmjene koje transakcija izvrši u bazi podataka ne rade se odmah. Oni su zabilježeni u log fajlu. Promjene podataka zabilježene u log datoteci se primjenjuju na bazu podataka prilikom urezivanja. Ovaj proces se zove “ponovno izvođenje”. Prilikom vraćanja, sve promjene podataka snimljenih u log datoteci se odbacuju; stoga nikakve promjene neće biti primijenjene na bazu podataka. Ako transakcija ne uspije i nije predana zbog bilo kojeg od gore navedenih razloga, zapisi u log datoteci se odbacuju i transakcija se ponovo pokreće. Ako su promjene u transakciji izvršene prije pada, onda nakon ponovnog pokretanja sistema, promjene zabilježene u log fajlu se primjenjuju na bazu podataka.
Immediate Update
Neposredno ažuriranje koje se takođe naziva UNDO/REDO, takođe je još jedna tehnika koja se koristi za oporavak/podršku neuspešnim transakcijama do kojih dolazi zbog kvarova operativnog sistema, napajanja, memorije ili mašine. Kada se transakcija pokrene, bilo koje ažuriranje ili izmjene koje je izvršila transakcija se upisuju direktno u bazu podataka. I originalne i nove vrijednosti se također bilježe u log datoteci prije nego što se promjene u bazi podataka. Prilikom urezivanja sve promjene napravljene u bazi podataka postaju trajne i zapisi u log datoteci se odbacuju. Prilikom vraćanja stare vrijednosti se vraćaju u bazu podataka koristeći stare vrijednosti pohranjene u log datoteci. Sve promjene izvršene transakcijama u bazi podataka se odbacuju i ovaj proces se naziva „Un-doing“. Kada se sistem ponovo pokrene nakon pada, sve promjene baze podataka postaju trajne za izvršene transakcije. Za nepovezane transakcije, originalne vrijednosti se vraćaju koristeći vrijednosti u log fajlu.
Koja je razlika između odgođenog ažuriranja i trenutnog ažuriranja
Iako su odloženo ažuriranje i trenutno ažuriranje dvije metode za oporavak nakon kvara sistema, proces koji svaka metoda koristi je drugačiji. U različitoj metodi ažuriranja, sve promjene u podacima koje je izvršila transakcija prvo se zapisuju u datoteku evidencije i primjenjuju na bazu podataka prilikom urezivanja. U metodi trenutnog ažuriranja, promjene izvršene transakcijom se direktno primjenjuju na bazu podataka i stare vrijednosti i nove vrijednosti se bilježe u datoteku evidencije. Ovi zapisi se koriste za vraćanje starih vrijednosti pri vraćanju. Kod različite metode ažuriranja, zapisi u datoteci evidencije se odbacuju prilikom vraćanja i nikada se ne primjenjuju na bazu podataka. Jedan nedostatak metode odgođenog ažuriranja je povećano vrijeme potrebno za oporavak u slučaju kvara sistema. S druge strane, česte I/O operacije dok je transakcija aktivna, predstavlja nedostatak u metodi trenutnog ažuriranja.