Rozdiel medzi odloženou aktualizáciou a okamžitou aktualizáciou

Odložená aktualizácia vs Okamžitá aktualizácia

Odložená aktualizácia a okamžitá aktualizácia sú dve techniky, ktoré sa používajú na udržiavanie súborov denníka transakcií databázových systémov riadenia (DBMS). Protokol transakcií (tiež označovaný ako denník denníka alebo redo denník) je fyzický súbor, ktorý ukladá ID transakcie, časovú pečiatku transakcie, starú hodnotu a nové hodnoty údajov. To umožňuje DBMS sledovať dáta pred a po každej transakcii. Keď sú transakcie potvrdené a databáza je vrátená do konzistentného stavu, denník môže byť skrátený, aby sa odstránili potvrdené transakcie.

Odložená aktualizácia

Odložená aktualizácia, ktorá sa tiež nazýva NO-UNDO / REDO, je technika používaná na obnovenie / podporu zlyhaní transakcií, ku ktorým dochádza v dôsledku zlyhaní operačného systému, napájania, pamäte alebo počítača. Keď sa transakcia spustí, akékoľvek aktualizácie alebo zmeny vykonané v databáze transakciou sa neuskutočnia okamžite. Zaznamenávajú sa do protokolového súboru. Zmeny údajov zaznamenané v protokolovom súbore sa aplikujú na databázu pri odovzdaní. Tento proces sa nazýva „opakovanie“. Vrátenie zmien, akékoľvek zmeny údajov zaznamenaných v protokolovom súbore sa zahodia; preto sa do databázy nebudú uplatňovať žiadne zmeny. Ak transakcia zlyhá a nie je spáchaná z niektorého z vyššie uvedených dôvodov, záznamy v protokolovom súbore sa zahodia a transakcia sa reštartuje. Ak sú zmeny v transakcii potvrdené pred zlyhaním a potom po reštarte systému, zmeny zaznamenané v protokolovom súbore sa použijú na databázu..

Okamžitá aktualizácia

Okamžitá aktualizácia tiež nazývaná UNDO / REDO, je tiež ďalšou technikou používanou na obnovenie / podporu zlyhaní transakcií, ku ktorým dochádza v dôsledku zlyhaní operačného systému, napájania, pamäte alebo počítača. Po spustení transakcie sa všetky aktualizácie alebo zmeny vykonané transakciou zapíšu priamo do databázy. Pôvodné hodnoty aj nové hodnoty sa tiež zaznamenajú v protokolovom súbore pred vykonaním zmien v databáze. Pri potvrdení sú všetky zmeny vykonané v databáze trvalé a záznamy v protokolovom súbore sa zahodia. Pri vrátení sú staré hodnoty obnovené do databázy pomocou starých hodnôt uložených v protokolovom súbore. Všetky zmeny uskutočnené transakciami do databázy sa zahodia a tento proces sa nazýva „nerobenie“. Keď sa systém po havárii reštartuje, všetky zmeny databázy sa vykonajú natrvalo pre potvrdené transakcie. Pri transakciách bez záväzku sa pôvodné hodnoty obnovujú pomocou hodnôt v protokolovom súbore.

Aký je rozdiel medzi odloženou aktualizáciou a okamžitou aktualizáciou

Aj keď sú odložené aktualizácie a okamžité aktualizácie dve metódy na obnovenie po zlyhaní systému, proces, ktorý každá metóda používa, je iný. Pri odlišnej metóde aktualizácie sa všetky zmeny vykonané v údajoch pomocou transakcie najprv zaznamenajú do súboru denníka a použijú sa do databázy pri potvrdení. Pri metóde okamžitej aktualizácie sa zmeny uskutočnené transakciou priamo aplikujú na databázu a staré hodnoty a nové hodnoty sa zaznamenávajú do protokolového súboru. Tieto záznamy sa používajú na obnovenie starých hodnôt pri vrátení. Pri odlišnej metóde aktualizácie sa záznamy v protokolovom súbore zahodia pri vrátení a nikdy sa nepoužijú v databáze. Jednou z nevýhod odloženej metódy aktualizácie je zvýšený čas potrebný na obnovenie v prípade zlyhania systému. Na druhej strane, časté I / O operácie, keď je transakcia aktívna, sú nevýhodou v metóde okamžitej aktualizácie.