Aggiornamento differito vs aggiornamento immediato
L'aggiornamento differito e l'aggiornamento immediato sono due tecniche utilizzate per mantenere i file di registro delle transazioni di Database Management Systems (DBMS). Il registro delle transazioni (denominato anche registro del giornale o registro di ripristino) è un file fisico che memorizza l'ID transazione, il timestamp della transazione, il vecchio valore ei nuovi valori dei dati. Ciò consente al DBMS di tenere traccia dei dati prima e dopo ogni transazione. Quando le transazioni vengono salvate e il database viene riportato a uno stato coerente, il registro potrebbe essere troncato per rimuovere le transazioni salvate.
Aggiornamento differito
L'aggiornamento differito chiamato anche NO-UNDO/REDO è una tecnica utilizzata per recuperare/supportare gli errori di transazione che si verificano a causa di errori del sistema operativo, dell'alimentazione, della memoria o della macchina. Quando viene eseguita una transazione, qualsiasi aggiornamento o modifica apportata al database dalla transazione non viene eseguita immediatamente. Sono registrati nel file di registro. Le modifiche ai dati registrate nel file di registro vengono applicate al database al momento del commit. Questo processo è chiamato "Rifare". Al rollback, tutte le modifiche ai dati registrati nel file di registro vengono eliminate; quindi nessuna modifica verrà applicata al database. Se una transazione non riesce e non viene confermata per uno dei motivi sopra menzionati, i record nel file di registro vengono eliminati e la transazione viene riavviata. Se le modifiche in una transazione vengono salvate prima dell'arresto anomalo, dopo il riavvio del sistema, le modifiche registrate nel file di registro vengono applicate al database.
Aggiornamento immediato
L'aggiornamento immediato, chiamato anche UNDO/REDO, è anche un' altra tecnica utilizzata per recuperare/supportare gli errori di transazione che si verificano a causa di errori del sistema operativo, dell'alimentazione, della memoria o della macchina. Quando viene eseguita una transazione, tutti gli aggiornamenti o le modifiche apportate dalla transazione vengono scritti direttamente nel database. Sia i valori originali che i nuovi valori vengono registrati anche nel file di registro prima che vengano apportate modifiche al database. Al momento del commit, tutte le modifiche apportate al database vengono rese permanenti e i record nel file di registro vengono eliminati. Al rollback i vecchi valori vengono ripristinati nel database utilizzando i vecchi valori archiviati nel file di registro. Tutte le modifiche apportate dalle transazioni al database vengono annullate e questo processo è chiamato "Annulla da fare". Quando il sistema si riavvia dopo un arresto anomalo, tutte le modifiche al database vengono rese permanenti per le transazioni salvate. Per le transazioni non vincolate, i valori originali vengono ripristinati utilizzando i valori nel file di registro.
Qual è la differenza tra aggiornamento differito e aggiornamento immediato
Anche se l'aggiornamento differito e l'aggiornamento immediato sono due metodi per il ripristino dopo un errore di sistema, il processo utilizzato da ciascun metodo è diverso. Nel metodo di aggiornamento diverso, qualsiasi modifica apportata ai dati da una transazione viene prima registrata in un file di registro e applicata al database al momento del commit. Nel metodo di aggiornamento immediato, le modifiche apportate da una transazione vengono applicate direttamente al database e i vecchi valori e i nuovi valori vengono registrati nel file di registro. Questi record vengono utilizzati per ripristinare i vecchi valori durante il rollback. Nel metodo di aggiornamento diverso, i record nel file di registro vengono eliminati al rollback e non vengono mai applicati al database. Uno svantaggio del metodo di aggiornamento differito è il maggiore tempo impiegato per il ripristino in caso di errore del sistema. D' altra parte, le frequenti operazioni di I/O mentre la transazione è attiva rappresentano uno svantaggio nel metodo di aggiornamento immediato.