Indietro

ⓘ Protezione dai guasti (basi di dati)




                                     

ⓘ Protezione dai guasti (basi di dati)

In informatica, in particolare parlando di basi di dati, con il termine di protezione dai guasti si intendono tutte quelle procedure attuate al fine di mantenere il database il più possibile integro a fronte di possibili malfunzionamenti.

                                     

1.1. Tipi di malfunzionamento Comportamento a fronte di Transaction Abort

Un Transaction Abort viene gestito con luso dei Log vedi log manager.

Per ogni azione eseguita da una transazione, il data manager provvede a salvare sia il nuovo stato del database, sia un Log dellazione eseguita che ha portato il vecchio stato nel nuovo. Il Log, comparato con il nuovo stato, ci fornisce la Before Image del database.

Per ogni azione abortita, si effettua un rollback. La gestione del rollback avviene dapprima scrivendo sul Log un abort record contenente lID della transazione che lha causato. In seguito vengono disfatte tutte le operazioni precedentemente eseguite dalla transazione che ha causato labort.

                                     

1.2. Tipi di malfunzionamento Protocollo Write Ahead Log

Il protocollo Write Ahead Log prevede che, se una transazione deve essere disfatta, sia indispensabile che la before image sia salvata nel Log prima’ che le relative modifiche sul database vengano rese permanenti.

                                     

1.3. Tipi di malfunzionamento System Abort

Il System Abort è uninterruzione di transazioni attive dovuta a unanomalia hardware o software dellunità centrale o di una periferica ad esempio un blackout. Si assume che il contenuto della memoria permanente sopravviva mentre quello nella memoria temporanea venga perso.

                                     

1.4. Tipi di malfunzionamento Comportamento a fronte di System Abort

Una transazione si può dire terminata solo quando viene memorizzato sul Log il relativo commit record. Solo in questo caso i suoi lock possono essere rilasciati e la transazone è completamente terminata.

In caso di System Abort, il recovery manager attiva la procedura di Restart. Questa procedura serve a portare la base di dati ad uno stato consistente, effettuando loperazione di UnDo di tutte le transazioni attive allatto del guasto. Queste ultime sono riconoscibili dal fatto che non hanno un commit record nel Log.

                                     

1.5. Tipi di malfunzionamento Politica dellupdate ritardato

Politica applicata da DBMS che non permettono loperazione UnDo ad esempio Ingres. Lafter image di una pagina non viene memorizzata subito nel database ma solo nel Log.

Lesecuzione del commit avviene scrivendo il commit record sul Log e, solo in seguito, copiando lafter image sulla base di dati.

Con questa politica si migliorano le prestazioni del sistema nel caso di frequenti Transaction e System Abort, incorrendo però in una maggiore complessità dei commit.

                                     

1.6. Tipi di malfunzionamento System Crash

Il System Crash è unanomalia che danneggia la memoria permanente del sistema.

                                     

1.7. Tipi di malfunzionamento Comportamento a fronte di System Crash

Lunica modo in cui sia possibile effettuare il recovery da una situazione di System Crash è nel caso in cui sia integro il Log. A tal scopo il Log viene sempre mantenuto in duplice copia.