Odložena posodobitev v primerjavi s takojšnjo posodobitvijo
Odložena posodobitev in takojšnja posodobitev sta dve tehniki, ki se uporabljata za vzdrževanje datotek dnevnika transakcij sistemov za upravljanje baz podatkov (DBMS). Dnevnik transakcij (imenovan tudi dnevnik dnevnika ali dnevnik ponavljanja) je fizična datoteka, ki shranjuje ID transakcije, časovni žig transakcije, staro vrednost in nove vrednosti podatkov. To omogoča DBMS, da spremlja podatke pred in po vsaki transakciji. Ko so transakcije odobrene in je baza podatkov vrnjena v konsistentno stanje, se lahko dnevnik skrajša, da se odstranijo odobrene transakcije.
Odložena posodobitev
Odložena posodobitev, imenovana tudi NO-UNDO/REDO, je tehnika, ki se uporablja za obnovitev/podporo napak pri transakcijah, do katerih pride zaradi okvar operacijskega sistema, napajanja, pomnilnika ali stroja. Ko se izvede transakcija, se vse posodobitve ali spremembe, ki jih transakcija izvede v bazi podatkov, ne izvedejo takoj. Zabeleženi so v dnevniški datoteki. Spremembe podatkov, zabeležene v dnevniški datoteki, se uporabijo v bazi podatkov ob potrditvi. Ta postopek se imenuje "ponovno delo". Pri povrnitvi se vse spremembe podatkov, zabeleženih v dnevniški datoteki, zavržejo; zato v bazi podatkov ne bodo uporabljene nobene spremembe. Če transakcija ne uspe in ni odobrena zaradi katerega koli od zgoraj omenjenih razlogov, se zapisi v dnevniški datoteki zavržejo in transakcija se znova zažene. Če so spremembe v transakciji potrjene pred zrušitvijo, se po ponovnem zagonu sistema spremembe, zabeležene v dnevniški datoteki, uporabijo v bazi podatkov.
Takojšnja posodobitev
Takojšnja posodobitev, imenovana tudi UNDO/REDO, je tudi druga tehnika, ki se uporablja za obnovitev/podporo napak pri transakcijah, do katerih pride zaradi okvar operacijskega sistema, napajanja, pomnilnika ali stroja. Ko se izvede transakcija, se vse posodobitve ali spremembe, ki jih naredi transakcija, zapišejo neposredno v bazo podatkov. Tako izvirne kot nove vrednosti se prav tako zabeležijo v dnevniško datoteko, preden se izvedejo spremembe v bazi podatkov. Ob potrditvi so vse spremembe v bazi podatkov trajne in zapisi v dnevniški datoteki so zavrženi. Pri povrnitvi se stare vrednosti obnovijo v bazo podatkov z uporabo starih vrednosti, shranjenih v dnevniški datoteki. Vse spremembe, ki jih transakcije naredijo v zbirki podatkov, so zavržene in ta postopek se imenuje »Razveljavitev«. Ko se sistem po zrušitvi znova zažene, so vse spremembe baze podatkov trajne za odobrene transakcije. Za neobvezne transakcije se izvirne vrednosti obnovijo z vrednostmi v dnevniški datoteki.
Kakšna je razlika med odloženo posodobitvijo in takojšnjo posodobitvijo
Čeprav sta odložena posodobitev in takojšnja posodobitev dve metodi za obnovitev po okvari sistema, je postopek, ki ga uporablja vsaka metoda, drugačen. Pri drugačnem načinu posodabljanja se vse spremembe podatkov, ki jih izvede transakcija, najprej zabeležijo v dnevniško datoteko in uporabijo v bazi podatkov ob potrditvi. Pri metodi takojšnje posodobitve se spremembe, ki jih izvede transakcija, neposredno uporabijo v bazi podatkov, stare in nove vrednosti pa se zabeležijo v dnevniško datoteko. Ti zapisi se uporabljajo za obnovitev starih vrednosti pri povrnitvi. Pri drugačnem načinu posodabljanja se zapisi v dnevniški datoteki ob povrnitvi zavržejo in se nikoli ne uporabijo v bazi podatkov. Ena od pomanjkljivosti metode odloženega posodabljanja je daljši čas, potreben za obnovitev v primeru okvare sistema. Po drugi strani pa so pogoste V/I operacije, medtem ko je transakcija aktivna, pomanjkljivost metode takojšnje posodobitve.