Atliktā atjaunināšana vs tūlītēja atjaunināšana
Atliktā atjaunināšana un tūlītēja atjaunināšana ir divi paņēmieni, kas tiek izmantoti datu bāzes pārvaldības sistēmu (DBVS) darījumu žurnālu failu uzturēšanai. Darījumu žurnāls (saukts arī par žurnāla žurnālu vai pārtaisīšanas žurnālu) ir fizisks fails, kurā tiek glabāts Darījuma ID, darījuma laika zīmogs, vecā vērtība un jaunās datu vērtības. Tas ļauj DBVS sekot datiem pirms un pēc katra darījuma. Kad darījumi tiek veikti un datu bāze tiek atgriezta nemainīgā stāvoklī, žurnāls var tikt saīsināts, lai noņemtu veiktos darījumus.
Atliktā atjaunināšana
Atliktais atjauninājums, saukts arī par NO-UNDO / REDO, ir paņēmiens, ko izmanto, lai atkoptu / atbalstītu transakciju kļūmes, kas rodas operētājsistēmas, strāvas, atmiņas vai mašīnas kļūmju dēļ. Kad transakcija tiek izpildīta, visi atjauninājumi vai izmaiņas, ko darījums izdarījis datu bāzē, netiek veikti nekavējoties. Tie tiek ierakstīti žurnālfailā. Reģistrācijas datnē reģistrētās datu izmaiņas tiek piemērotas datu bāzē. Šo procesu sauc par atkārtotu darīšanu. Atceļot, tiek atceltas visas izmaiņas žurnāla failā ierakstītajos datos; līdz ar to datubāzei netiks piemērotas nekādas izmaiņas. Ja darījums neizdodas un tas nav izdarīts kāda no iepriekšminētajiem iemesliem, ieraksti žurnālfailā tiek atmesti un darījums tiek atsākts. Ja izmaiņas darījumā tiek veiktas pirms avārijas, tad pēc sistēmas restartēšanas žurnāla failā reģistrētās izmaiņas tiek piemērotas datu bāzei.
Tūlītēja atjaunināšana
Tūlītējs atjauninājums, ko sauc arī par UNDO / REDO, ir arī vēl viena metode, ko izmanto, lai atkoptu / atbalstītu darījumu neveiksmes, kas rodas operētājsistēmas, strāvas, atmiņas vai mašīnas kļūmju dēļ. Kad transakcija tiek izpildīta, jebkurš no darījuma veiktajiem atjauninājumiem vai izmaiņām tiek ierakstīts tieši datu bāzē. Pirms datu bāzē tiek veiktas izmaiņas, gan sākotnējās vērtības, gan jaunās vērtības tiek reģistrētas žurnāla failā. Pēc saistībām visas izmaiņas datu bāzē tiek veiktas kā pastāvīgas, un ieraksti žurnālfailā tiek atmesti. Atsākot, vecās vērtības tiek atjaunotas datu bāzē, izmantojot vecās vērtības, kas tiek saglabātas žurnāla failā. Visas izmaiņas, kas veiktas, veicot transakcijas datu bāzē, tiek atmestas, un šo procesu sauc par “Not-doing”. Kad sistēma pēc avārijas tiek restartēta, visas datu bāzes izmaiņas tiek veiktas pastāvīgi saistītiem darījumiem. Nepiesaistītiem darījumiem sākotnējās vērtības tiek atjaunotas, izmantojot vērtības žurnāla failā.
Kāda ir atšķirība starp atlikto atjaunināšanu un tūlītēju atjaunināšanu
Lai arī atliktā atjaunināšana un tūlītēja atjaunināšana ir divas atkopšanas metodes pēc sistēmas kļūmes, katras metodes izmantotais process ir atšķirīgs. Atšķirīgā atjaunināšanas metodē visas izmaiņas, kas veiktas datos, veicot transakciju, vispirms reģistrē žurnālfailā un datu bāzē piemēro saistībām. Tūlītējas atjaunināšanas metodē darījuma veiktās izmaiņas tiek tieši piemērotas datu bāzei, un vecās vērtības un jaunās vērtības tiek reģistrētas žurnālfailā. Šie ieraksti tiek izmantoti, lai atjaunotu vecās vērtības atgriešanās gadījumā. Atšķirīgā atjaunināšanas metodē žurnālfaila ieraksti tiek atmesti atjaunojot un nekad netiek izmantoti datu bāzē. Viens no atliktās atjaunināšanas metodes trūkumiem ir palielināts laiks, kas nepieciešams, lai atjaunotos sistēmas kļūmes gadījumā. No otras puses, biežas I / O operācijas, kamēr darījums ir aktīvs, ir trūkums tūlītējas atjaunināšanas metodē.