Odložená aktualizácia vs okamžitá aktualizácia
Odložená aktualizácia a okamžitá aktualizácia sú dve techniky používané na údržbu súborov protokolov transakcií systémov správy databáz (DBMS). Denník transakcií (tiež označovaný ako denník denníka alebo opakovaný denník) je fyzický súbor, ktorý uchováva ID transakcie, časovú pečiatku transakcie, starú hodnotu a nové hodnoty údajov. To umožňuje systému DBMS sledovať údaje pred a po každej transakcii. Keď sú transakcie potvrdené a databáza sa vráti do konzistentného stavu, môže sa protokol skrátiť, 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 dôjde v dôsledku zlyhania operačného systému, napájania, pamäte alebo zariadenia. Po spustení transakcie sa okamžite nevykonajú žiadne aktualizácie alebo zmeny vykonané v databáze transakciou. Zaznamenajú sa do protokolového súboru. Zmeny údajov zaznamenané v protokolovom súbore sa pri potvrdení použijú v databáze. Tento proces sa nazýva „Opätovné vykonávanie“. Pri vrátení späť sa všetky zmeny údajov zaznamenaných v protokolovom súbore zahodia; preto sa na databázu nebudú vzťahovať žiadne zmeny. Ak transakcia zlyhá a nie je spáchaná z niektorého z vyššie uvedených dôvodov, záznamy v súbore protokolu sa zahodia a transakcia sa reštartuje. Ak sú zmeny v transakcii potvrdené pred zlyhaním, potom po reštarte systémuzmeny zaznamenané v protokolovom súbore sa použijú v databáze.
Okamžitá aktualizácia
Okamžitá aktualizácia, ktorá sa tiež nazýva UNDO / REDO, je tiež ďalšou technikou používanou na zotavenie / podporu zlyhaní transakcií, ku ktorým dochádza v dôsledku zlyhania operačného systému, napájania, pamäte alebo zariadenia. Po spustení transakcie sa všetky aktualizácie alebo zmeny vykonané transakciou zapíšu priamo do databázy. Pred vykonaním zmien v databáze sa pôvodné hodnoty aj nové hodnoty zaznamenajú do súboru denníka. Pri potvrdení sú všetky zmeny vykonané v databáze trvalé a záznamy v protokolovom súbore sú zahodené. Pri spätnom vrátení sa staré hodnoty obnovia do databázy pomocou starých hodnôt uložených v protokolovom súbore. Všetky zmeny vykonané transakciami v databáze sa zahodia a tento proces sa nazýva „Nerobiaci“. Keď sa systém po zlyhaní reštartuje, všetky zmeny v databáze sa vykonajú natrvalo pre potvrdené transakcie. Pri nezáväzných transakciách sa pôvodné hodnoty obnovia 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ácia a Okamžitá aktualizácia dve metódy obnovy po zlyhaní systému, postup, ktorý každá metóda používa, je odlišný. Pri odlišnej metóde aktualizácie sa všetky zmeny údajov vykonané transakciou najskôr zaznamenajú do súboru protokolu a pri potvrdení sa použijú v databáze. Pri metóde okamžitej aktualizácie sa zmeny vykonané transakciou priamo použijú na databázu a staré hodnoty a nové hodnoty sa zaznamenajú do súboru protokolu. Tieto záznamy sa používajú na obnovenie starých hodnôt pri vrátení. V prípade odlišnej metódy aktualizácie sa záznamy v protokolovom súbore zahodia pri vrátení späť a nikdy sa nepoužijú v databáze. Jednou z nevýhod metódy odloženej aktualizácie je predĺžený čas potrebný na zotavenie 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.