Odgođeno ažuriranje u odnosu na trenutno ažuriranje
Odgođeno ažuriranje i trenutno ažuriranje dvije su tehnike koje se koriste za održavanje datoteka dnevnika transakcija sustava upravljanja bazom podataka (DBMS). Dnevnik transakcija (također se naziva dnevnik dnevnika ili dnevnik ponavljanja) fizička je datoteka koja pohranjuje ID transakcije, vremensku oznaku transakcije, staru vrijednost i nove vrijednosti podataka. To omogućuje DBMS-u da prati podatke prije i nakon svake transakcije. Kada su transakcije predane i baza podataka vraćena u konzistentno stanje, dnevnik bi mogao biti skraćen kako bi se uklonile predane transakcije.
Odgođeno ažuriranje
Odgođeno ažuriranje koje se naziva i NO-UNDO/REDO je tehnika koja se koristi za oporavak/podržavanje neuspjeha transakcija do kojih dolazi zbog kvarova operativnog sustava, napajanja, memorije ili stroja. Kada se transakcija izvodi, sva ažuriranja ili izmjene koje transakcija napravi u bazi podataka ne rade se odmah. Bilježe se u log datoteku. Promjene podataka zabilježene u datoteci dnevnika primjenjuju se na bazu podataka pri predaji. Taj se proces naziva "ponovno". Prilikom vraćanja, sve promjene podataka zabilježenih u datoteci dnevnika se odbacuju; stoga nikakve promjene neće biti primijenjene na bazu podataka. Ako transakcija ne uspije i nije izvršena zbog bilo kojeg od gore navedenih razloga, zapisi u datoteci dnevnika se odbacuju i transakcija se ponovno pokreće. Ako su promjene u transakciji izvršene prije rušenja, tada se nakon ponovnog pokretanja sustava promjene zabilježene u datoteci dnevnika primjenjuju na bazu podataka.
Trenutno ažuriranje
Trenutno ažuriranje koje se naziva i UNDO/REDO, također je još jedna tehnika koja se koristi za oporavak/podršku neuspjeha transakcija do kojih dolazi zbog kvarova operativnog sustava, napajanja, memorije ili stroja. Kada se transakcija izvodi, sva ažuriranja ili izmjene napravljene transakcijom zapisuju se izravno u bazu podataka. I izvorne vrijednosti i nove vrijednosti također se bilježe u datoteci dnevnika prije nego što se naprave promjene u bazi podataka. Prilikom predaje sve promjene napravljene u bazi podataka postaju trajne, a zapisi u datoteci dnevnika se odbacuju. Prilikom vraćanja stare vrijednosti se vraćaju u bazu podataka pomoću starih vrijednosti pohranjenih u datoteci dnevnika. Sve promjene napravljene transakcijama u bazi podataka odbacuju se i taj se proces naziva "Poništavanje". Kada se sustav ponovno pokrene nakon pada, sve promjene baze podataka postaju trajne za izvršene transakcije. Za neobvezene transakcije, izvorne vrijednosti se vraćaju pomoću vrijednosti u datoteci dnevnika.
Koja je razlika između odgođenog ažuriranja i trenutnog ažuriranja
Iako su odgođeno ažuriranje i trenutačno ažuriranje dvije metode za oporavak nakon kvara sustava, proces koji svaka metoda koristi je drugačiji. U različitoj metodi ažuriranja, sve promjene napravljene transakcijom na podacima prvo se bilježe u datoteku dnevnika i primjenjuju na bazu podataka prilikom predaje. U metodi trenutnog ažuriranja, promjene napravljene transakcijom izravno se primjenjuju na bazu podataka, a stare i nove vrijednosti bilježe se u datoteci dnevnika. Ovi se zapisi koriste za vraćanje starih vrijednosti na prethodno stanje. U različitoj metodi ažuriranja, zapisi u datoteci dnevnika odbacuju se pri vraćanju i nikada se ne primjenjuju na bazu podataka. Jedan nedostatak metode odgođenog ažuriranja je produženo vrijeme potrebno za oporavak u slučaju kvara sustava. S druge strane, česte I/O operacije dok je transakcija aktivna, nedostatak su u metodi trenutnog ažuriranja.