Różnica między odroczoną aktualizacją a natychmiastową aktualizacją

Odroczona aktualizacja vs natychmiastowa aktualizacja

Odroczona aktualizacja i natychmiastowa aktualizacja to dwie techniki stosowane do zarządzania plikami dzienników transakcji systemów zarządzania bazami danych (DBMS). Dziennik transakcji (zwany również dziennikiem dziennika lub dziennikiem ponownych operacji) jest plikiem fizycznym, w którym jest przechowywany identyfikator transakcji, znacznik czasu transakcji, stara wartość i nowe wartości danych. Dzięki temu DBMS może śledzić dane przed i po każdej transakcji. Po zatwierdzeniu transakcji i przywróceniu bazy danych do spójnego stanu dziennik może zostać obcięty w celu usunięcia zatwierdzonych transakcji.

Odroczona aktualizacja

Odroczona aktualizacja zwana także NO-UNDO / REDO to technika używana do odzyskiwania / obsługi błędów transakcji, które występują z powodu awarii systemu operacyjnego, zasilania, pamięci lub komputera. Po uruchomieniu transakcji wszelkie aktualizacje lub zmiany wprowadzone w bazie danych przez transakcję nie są wykonywane natychmiast. Są one rejestrowane w pliku dziennika. Zmiany danych zapisane w pliku dziennika są stosowane do bazy danych podczas zatwierdzania. Ten proces nazywa się „ponownym wykonaniem”. Po wycofaniu wszelkie zmiany danych zapisanych w pliku dziennika są odrzucane; dlatego żadne zmiany nie zostaną zastosowane w bazie danych. Jeśli transakcja nie powiedzie się i nie zostanie zatwierdzona z żadnego z wyżej wymienionych powodów, rekordy w pliku dziennika zostaną odrzucone, a transakcja zostanie ponownie uruchomiona. Jeśli zmiany w transakcji zostaną zatwierdzone przed awarią, to po ponownym uruchomieniu systemu zmiany zapisane w pliku dziennika zostaną zastosowane w bazie danych.

Natychmiastowa aktualizacja

Natychmiastowa aktualizacja zwana także UNDO / REDO, to także inna technika używana do odzyskiwania / obsługi błędów transakcji, które występują z powodu awarii systemu operacyjnego, zasilania, pamięci lub maszyny. Po uruchomieniu transakcji wszelkie aktualizacje lub zmiany dokonane przez transakcję są zapisywane bezpośrednio w bazie danych. Zarówno oryginalne wartości, jak i nowe wartości są również zapisywane w pliku dziennika przed wprowadzeniem zmian w bazie danych. Po zatwierdzeniu wszystkie zmiany dokonane w bazie danych są trwałe, a zapisy w pliku dziennika są odrzucane. Podczas wycofywania stare wartości są przywracane do bazy danych przy użyciu starych wartości przechowywanych w pliku dziennika. Wszystkie zmiany dokonane przez transakcje w bazie danych są odrzucane, a proces ten nazywa się „brakiem działania”. Gdy system uruchamia się ponownie po awarii, wszystkie zmiany w bazie danych są trwałe dla zatwierdzonych transakcji. W przypadku niezatwierdzonych transakcji oryginalne wartości są przywracane przy użyciu wartości z pliku dziennika.

Jaka jest różnica między aktualizacją odroczoną a aktualizacją natychmiastową

Mimo że Odroczona aktualizacja i Natychmiastowa aktualizacja to dwie metody odzyskiwania po awarii systemu, proces, z którego korzysta każda metoda, jest inny. W różnej metodzie aktualizacji wszelkie zmiany danych wprowadzone w transakcji są najpierw rejestrowane w pliku dziennika i stosowane do bazy danych podczas zatwierdzania. W metodzie natychmiastowej aktualizacji zmiany dokonane przez transakcję są bezpośrednio stosowane do bazy danych, a stare wartości i nowe wartości są zapisywane w pliku dziennika. Te rekordy są używane do przywracania starych wartości przy wycofywaniu. W różnej metodzie aktualizacji rekordy w pliku dziennika są odrzucane przy przywracaniu i nigdy nie są stosowane do bazy danych. Wadą metody odroczonej aktualizacji jest dłuższy czas potrzebny na odzyskanie w przypadku awarii systemu. Z drugiej strony częste operacje we / wy, gdy transakcja jest aktywna, są wadą metody natychmiastowej aktualizacji.