Odložená aktualizace vs Okamžitá aktualizace
Odložená aktualizace a okamžitá aktualizace jsou dvě techniky používané k udržování souborů protokolu transakcí databázových systémů správy (DBMS). Protokol transakcí (také označovaný jako deník žurnálu nebo protokol opakování) je fyzický soubor, který ukládá ID transakce, časové razítko transakce, starou hodnotu a nové hodnoty dat. To umožňuje DBMS sledovat data před a po každé transakci. Když jsou transakce potvrzeny a databáze je vrácena do konzistentního stavu, může být protokol oříznut, aby se odstranily potvrzené transakce.
Odložená aktualizace
Odložená aktualizace nazývaná také NO-UNDO / REDO je technika používaná k obnovení / podpoře selhání transakcí, ke kterým dochází v důsledku selhání operačního systému, napájení, paměti nebo stroje. Při spuštění transakce se žádné aktualizace nebo změny provedené v databázi transakcí neprovádějí okamžitě. Zaznamenávají se do souboru protokolu. Změny dat zaznamenané v souboru protokolu jsou použity na databázi při potvrzení. Tento proces se nazývá „Re-doing“. Při vrácení zpět jsou všechny změny dat zaznamenaných v souboru protokolu zahozeny; proto nebudou v databázi použity žádné změny. Pokud transakce selže a není spáchána z některého z výše uvedených důvodů, jsou záznamy v souboru protokolu zahozeny a transakce je restartována. Pokud jsou změny v transakci potvrzeny před selháním, pak po restartu systému se změny zaznamenané v souboru protokolu použijí na databázi..
Okamžitá aktualizace
Okamžitá aktualizace nazývaná také UNDO / REDO, je také další technikou používanou k obnovení / podpoře selhání transakcí, ke kterým dochází v důsledku selhání operačního systému, napájení, paměti nebo stroje. Při spuštění transakce jsou všechny aktualizace nebo změny provedené transakcí zapsány přímo do databáze. Původní hodnoty i nové hodnoty se také zaznamenají do souboru protokolu před provedením změn v databázi. Při potvrzení jsou všechny změny provedené v databázi provedeny jako trvalé a záznamy v souboru protokolu jsou zahozeny. Při vrácení jsou staré hodnoty obnoveny do databáze pomocí starých hodnot uložených v souboru protokolu. Všechny změny provedené transakcemi do databáze jsou zahozeny a tento proces se nazývá „nedělat“. Když se systém po havárii restartuje, jsou všechny provedené změny databáze trvalé pro potvrzené transakce. U transakcí bez závazku se původní hodnoty obnovují pomocí hodnot v souboru protokolu.
Jaký je rozdíl mezi odloženou aktualizací a okamžitou aktualizací?
I když jsou odložená aktualizace a okamžitá aktualizace dvě metody pro zotavení po selhání systému, proces, který každá metoda používá, je jiný. V odlišném způsobu aktualizace jsou všechny změny provedené v datech transakcí nejprve zaznamenány do souboru protokolu a aplikovány do databáze při potvrzení. V metodě okamžité aktualizace se změny provedené transakcí přímo aplikují na databázi a staré hodnoty a nové hodnoty se zaznamenají do souboru protokolu. Tyto záznamy se používají k obnovení starých hodnot při vrácení. Při různé metodě aktualizace se záznamy v souboru protokolu zahodí při návratu a nikdy se na databázi nepoužijí. Jednou z nevýhod metody odložené aktualizace je zvýšená doba potřebná k obnovení v případě selhání systému. Na druhou stranu, časté I / O operace, zatímco je transakce aktivní, jsou nevýhodou metody okamžité aktualizace.