Edasilükatud värskendus vs kohene värskendus
Edasilükatud värskendus ja kohene värskendamine on kaks tehnikat, mida kasutatakse andmebaaside haldussüsteemide (DBMS) tehingute logifailide säilitamiseks. Tehingulogi (nimetatakse ka päevikute logiks või uuesti logimiseks) 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 sooritatud ja andmebaas tagastatakse järjepidevasse olekusse, võidakse logitud toimingute eemaldamiseks logi kärpida.
Edasilükatud värskendus
Edasilükatud värskendus, mida nimetatakse ka NO-UNDO / REDO, on tehnika, mida kasutatakse operatsioonisüsteemi, toite, mälu või masina tõrgete tõttu tekkinud tehingute tõrgete taastamiseks / toetamiseks. Tehingu sooritamisel ei tehta tehingu abil andmebaasi tehtud värskendusi ega muudatusi kohe. Need salvestatakse logifaili. Logifailis salvestatud andmemuudatused rakendatakse andmebaasis pühendumisel. Seda protsessi nimetatakse uuesti tegemiseks. Tagasivõtmisel loobutakse logifaili salvestatud andmete muudatustest; seega ei tehta andmebaasis muudatusi. Kui tehing ebaõnnestub ja seda ei sooritata mõne ülalnimetatud põhjuse tõttu, siis logifaili kirjed tühistatakse ja tehing taaskäivitatakse. Kui tehingu muudatused tehakse enne krahhi, siis pärast süsteemi taaskäivitamistlogifailis salvestatud muudatused rakendatakse andmebaasis.
Kohene värskendamine
Kohene värskendus, mida nimetatakse ka UNDO / REDO, on ka teine tehnika, mida kasutatakse operatsioonisüsteemi, toite, mälu või masina tõrgete tõttu tekkinud tehingutõrgete taastamiseks / toetamiseks. Tehingu käivitamisel kirjutatakse kõik tehingu tehtud värskendused või muudatused otse andmebaasi. Nii algsed kui ka uued väärtused salvestatakse logifaili ka enne andmebaasi muudatuste tegemist. Kohustamisel muudetakse kõik andmebaasis tehtud muudatused püsivaks ja logifaili kirjed visatakse kõrvale. Tagasitulekul taastatakse vanad väärtused andmebaasi, kasutades logifaili salvestatud vanu väärtusi. Kõik andmebaasis tehingutega tehtud muudatused jäetakse kõrvale ja seda protsessi nimetatakse tühjaks tegemiseks. Kui süsteem pärast krahhi taaskäivitub, muudetakse kõik andmebaasi muudatused pühendatud tehingute jaoks püsivaks. Kohustamata tehingute korral taastatakse algsed väärtused logifaili väärtuste abil.
Mis vahe on edasilükatud ja kohese värskenduse vahel
Kuigi edasilükatud värskendus ja kohene värskendamine on kaks süsteemi rikke järgselt taastamise meetodit, on iga meetodi kasutatav protsess erinev. Erinevas värskendusmeetodis salvestatakse kõik tehinguga andmetes tehtud muudatused kõigepealt logifaili ja rakendatakse andmebaasis pühendumisel. Kohese värskendamise meetodil rakendatakse tehinguga tehtud muudatused otse andmebaasi ning vanad väärtused ja uued väärtused registreeritakse logifailis. Neid kirjeid kasutatakse vanade väärtuste taastamiseks taastamisel. Erinevas värskendusmeetodis visatakse logifailis olevad kirjed tagasi ja neid ei rakendata kunagi andmebaasis. Edasilükatud värskendusmeetodi üks puudus on süsteemirikke korral taastumiseks kuluv pikem aeg. Teisest küljest on sagedased sisend- / väljundoperatsioonid ajal, kui tehing on aktiivne, kohese värskendamismeetodi puuduseks.