Diferența dintre actualizarea amânată și actualizarea imediată

Actualizare instantanee versus actualizare imediată

Actualizarea actualizată și actualizarea imediată sunt două tehnici utilizate pentru a menține fișierele jurnalului de tranzacții ale sistemelor de gestionare a bazelor de date (DBMS). Jurnalul de tranzacții (numit și jurnalul de jurnal sau jurnalul de redoire) este un fișier fizic care stochează ID-ul tranzacției, ștampila de timp a tranzacției, valoarea veche și noile valori ale datelor. Aceasta permite DBMS-ului să urmărească datele înainte și după fiecare tranzacție. Atunci când tranzacțiile sunt angajate și baza de date este returnată într-o stare consecventă, jurnalul poate fi trunchiat pentru a elimina tranzacțiile angajate.

Actualizare amânată

De asemenea, actualizarea cu întârziere, denumită și NO-UNDO / REDO, este o tehnică utilizată pentru a recupera / sprijini eșecurile tranzacțiilor care apar datorită defecțiunilor sistemului de operare, a alimentării cu energie, a memoriei sau a mașinii. Atunci când o tranzacție se execută, orice actualizări sau modificări efectuate în baza de date prin tranzacție nu se fac imediat. Acestea sunt înregistrate în fișierul jurnal. Modificările de date înregistrate în fișierul jurnal sunt aplicate în baza de date privind comiterea. Acest proces este numit "Re-doing". La revocare, orice modificări ale datelor înregistrate în fișierul jurnal sunt eliminate; prin urmare, nu vor fi aplicate modificări în baza de date. Dacă o tranzacție nu reușește și nu este comisă din cauza vreunuia dintre motivele menționate mai sus, înregistrările din fișierul jurnal sunt aruncate și tranzacția este reluată. Dacă modificările dintr-o tranzacție sunt comise înainte de crashing, atunci după ce sistemul repornește, modificările înregistrate în fișierul jurnal sunt aplicate în baza de date.

Imediat Update

Actualizarea imediată, denumită și UNDO / REDO, este, de asemenea, o altă tehnică utilizată pentru a recupera / sprijini eșecurile tranzacțiilor care apar din cauza unor defecțiuni la sistemul de operare, de alimentare, de memorie sau de mașină. Când se execută o tranzacție, oricare dintre actualizările sau modificările efectuate de tranzacție sunt scrise direct în baza de date. Atât valorile inițiale, cât și noile valori sunt înregistrate și în fișierul de jurnal înainte de a se efectua modificări în baza de date. La comiterea tuturor modificărilor făcute în baza de date se fac permanent și înregistrările din fișierul jurnal sunt aruncate. La revocare, valorile vechi sunt restaurate în baza de date utilizând valorile vechi stocate în fișierul jurnal. Toate modificările aduse de tranzacții către baza de date sunt eliminate și acest proces este numit "Unduirea". Când sistemul repornește după un accident, toate modificările bazei de date devin permanente pentru tranzacțiile angajate. În cazul tranzacțiilor neangajate, valorile inițiale sunt restabilite utilizând valorile din fișierul jurnal.

Care este diferența dintre Actualizarea amânată și actualizarea imediată

Chiar dacă Update Deferred și Update Immediate sunt două metode de recuperare după o eșecare a sistemului, procesul pe care fiecare metodă îl folosește este diferit. În metoda de actualizare diferită, orice modificări aduse datelor printr-o tranzacție sunt înregistrate mai întâi într-un fișier jurnal și aplicate la baza de date pe comitet. În metoda de actualizare imediată, modificările efectuate de o tranzacție sunt aplicate direct în baza de date, iar vechile valori și noile valori sunt înregistrate în fișierul jurnal. Aceste înregistrări sunt folosite pentru a restabili valorile vechi la revocare. În metoda de actualizare diferită, înregistrările din fișierul jurnal sunt aruncate înapoi înapoi și nu sunt aplicate în baza de date. Un dezavantaj al metodei de actualizare amânată este timpul crescut pentru recuperare în cazul unei defecțiuni a sistemului. Pe de altă parte, operațiile de I / O frecvente în timp ce tranzacția este activă reprezintă un dezavantaj în metoda actualizării imediate.