Atliktā atjaunināšana pret tūlītēju atjaunināšanu
Atliktā atjaunināšana un tūlītējā atjaunināšana ir divas metodes, ko izmanto datu bāzu pārvaldības sistēmu (DBVS) darījumu žurnāla 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 saglabāts darījuma ID, darījuma laika zīmogs, datu vecā vērtība un jaunās vērtības. Tas ļauj DBVS sekot līdzi datiem pirms un pēc katra darījuma. Kad transakcijas ir veiktas un datubāze tiek atgriezta konsekventā stāvoklī, žurnāls var tikt saīsināts, lai noņemtu veiktās transakcijas.
Atlikts atjauninājums
Atliktā atjaunināšana, ko sauc arī par NO-UNDO/REDO, ir paņēmiens, ko izmanto, lai atgūtu/atbalstītu darījumu kļūmes, kas rodas operētājsistēmas, strāvas, atmiņas vai iekārtas kļūmes dēļ. Kad darījums tiek izpildīts, visi atjauninājumi vai izmaiņas, ko darījums veicis datu bāzē, netiek veiktas nekavējoties. Tie tiek ierakstīti žurnāla failā. Datu izmaiņas, kas reģistrētas žurnālfailā, tiek piemērotas datu bāzei, veicot apņemšanos. Šo procesu sauc par “atkārtošanu”. Veicot atcelšanu, visas žurnālfailā ierakstīto datu izmaiņas tiek atmestas; tāpēc datu bāzei netiks piemērotas nekādas izmaiņas. Ja darījums neizdodas un tas netiek veikts kāda no iepriekšminētajiem iemesliem, ieraksti žurnālfailā tiek atmesti un darījums tiek restartēts. Ja izmaiņas darījumā tiek veiktas pirms avārijas, tad pēc sistēmas restartēšanas žurnālfailā ierakstītās izmaiņas tiek lietotas datu bāzē.
Tūlītēja atjaunināšana
Tūlītēja atjaunināšana, ko sauc arī par ATCELŠANAS/ATGRIEZINĀJUMU, ir arī cita metode, ko izmanto, lai atgūtu/atbalstītu darījumu kļūmes, kas rodas operētājsistēmas, strāvas, atmiņas vai iekārtas kļūmes dēļ. Kad transakcija tiek izpildīta, visi darījuma veiktie atjauninājumi vai izmaiņas tiek ierakstīti tieši datu bāzē. Gan sākotnējās vērtības, gan jaunās vērtības tiek ierakstītas arī žurnālfailā, pirms tiek veiktas izmaiņas datu bāzē. Veicot apņemšanos, visas datubāzē veiktās izmaiņas tiek padarītas pastāvīgas, un ieraksti žurnālfailā tiek atmesti. Atceļot vecās vērtības, tiek atjaunotas datu bāzē, izmantojot vecās vērtības, kas saglabātas žurnālfailā. Visas izmaiņas, kas veiktas ar transakcijām datu bāzē, tiek atmestas, un šo procesu sauc par “Atcelšanu”. Kad sistēma tiek restartēta pēc avārijas, visas datu bāzes izmaiņas tiek padarītas pastāvīgas veiktajiem darījumiem. Neiesaistītiem darījumiem sākotnējās vērtības tiek atjaunotas, izmantojot žurnāla failā esošās vērtības.
Kāda ir atšķirība starp atlikto atjaunināšanu un tūlītējo atjaunināšanu
Lai gan atliktā atjaunināšana un tūlītējā atjaunināšana ir divas atkopšanas metodes pēc sistēmas kļūmes, katras metodes izmantotais process ir atšķirīgs. Izmantojot atšķirīgu atjaunināšanas metodi, visas izmaiņas, ko datos veic darījums, vispirms tiek ierakstītas žurnālfailā un tiek lietotas datu bāzē, veicot apņemšanos. Tūlītējās atjaunināšanas metodē transakcijas veiktās izmaiņas tiek tieši piemērotas datu bāzei, un vecās un jaunās vērtības tiek ierakstītas žurnālfailā. Šie ieraksti tiek izmantoti, lai atjaunotu vecās vērtības, veicot atcelšanu. Izmantojot atšķirīgu atjaunināšanas metodi, ieraksti žurnālfailā tiek izmesti, atgriežot tos un nekad netiek lietoti 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 ievades/izvades darbības, kamēr darījums ir aktīvs, ir tūlītējas atjaunināšanas metodes trūkums.