Edasilükatud värskendus vs kohene värskendus
Deferred Update ja Immediate Update on kaks tehnikat, mida kasutatakse andmebaasihaldussüsteemide (DBMS) tehingulogifailide haldamiseks. Tehingulogi (nimetatakse ka päeviku logiks või taastegemise logiks) on füüsiline fail, mis salvestab tehingu ID, tehingu ajatempli, andmete vana väärtuse ja uued väärtused. See võimaldab DBMS-il jälgida andmeid enne ja pärast iga tehingut. Kui tehingud on sidunud ja andmebaas tagastatakse ühtsesse olekusse, võidakse sisseviidud tehingute eemaldamiseks logi kärpida.
Edastatud värskendus
Edasilükatud värskendus, mida nimetatakse ka NO-UNDO/REDO, on tehnika, mida kasutatakse operatsioonisüsteemi, toite, mälu või masina riketest tingitud tehingutõrgete taastamiseks/toetamiseks. Kui tehing käivitub, ei tehta tehinguga tehtud andmebaasi värskendusi ega muudatusi kohe. Need salvestatakse logifaili. Logifailis salvestatud andmete muudatused rakendatakse andmebaasi sissekandmisel. Seda protsessi nimetatakse "uuesti tegemiseks". Tagasipööramisel tühistatakse kõik logifaili salvestatud andmete muudatused; seega muudatusi andmebaasis ei rakendata. Kui tehing ebaõnnestub ja seda ei sooritata mõnel ülalmainitud põhjusel, siis logifaili kirjed tühistatakse ja tehing alustatakse uuesti. Kui tehingu muudatused tehakse enne kokkujooksmist, rakendatakse pärast süsteemi taaskäivitamist logifailis salvestatud muudatused andmebaasi.
Kohe värskendus
Kohe värskendamine, mida nimetatakse ka UNDO/REDO, on ka teine meetod, mida kasutatakse operatsioonisüsteemi, toite, mälu või masina riketest tingitud tehingutõrgete taastamiseks/toetamiseks. Tehingu käitamisel kirjutatakse kõik tehinguga tehtud värskendused või muudatused otse andmebaasi. Nii algsed kui ka uued väärtused salvestatakse enne andmebaasis muudatuste tegemist logifaili. Kinnitamisel muudetakse kõik andmebaasis tehtud muudatused püsivaks ja logifailis olevad kirjed tühistatakse. Tagasipööramisel taastatakse vanad väärtused andmebaasi, kasutades logifaili salvestatud vanu väärtusi. Kõik andmebaasis tehtavate tehingutega tehtud muudatused tühistatakse ja seda protsessi nimetatakse tühistamiseks. Kui süsteem pärast krahhi taaskäivitub, muudetakse kõik andmebaasi muudatused sooritatud tehingute jaoks püsivaks. Sidumata tehingute puhul taastatakse algsed väärtused logifaili väärtuste abil.
Mis vahe on edasilükatud värskendusel ja kohesel värskendusel
Kuigi edasilükatud värskendus ja kohene värskendus on kaks meetodit süsteemirikke järgseks taastamiseks, on iga meetodi kasutatav protsess erinev. Erinevate värskendusmeetodite korral salvestatakse kõik tehinguga andmetes tehtud muudatused esm alt logifaili ja rakendatakse kinnitamisel andmebaasi. Vahetu värskendamise meetodil rakendatakse tehinguga tehtud muudatused otse andmebaasi ning logifaili salvestatakse vanad ja uued väärtused. Neid kirjeid kasutatakse vanade väärtuste taastamiseks tagasipööramisel. Erinevate värskendusmeetodite korral tühistatakse logifaili kirjed tagasipööramisel ja neid ei rakendata kunagi andmebaasi. Üks edasilükatud värskendusmeetodi puudus on süsteemi tõrke korral taastumiseks kuluv pikem aeg. Teisest küljest on sagedased sisend-/väljundtoimingud, kui tehing on aktiivne, kohese värskendamise meetodi puuduseks.