Table of Contents
Transazione
Atomicità: un'operazione può essere o completata o annullata, non può essere completata parzialmente
Persistenza: se una transazione termina con successo, le modifiche devono essere mantenute sui dati
Serializzabilità: non possono essere eseguite due transazioni che interferiscono tra loro (ved. esempio due prelievi bancomat contemporanei)
Problemi / giornale
- La transazione fallisce
- C'è un problema esterno temporaneo (es. caduta della corrente elettrica)
- C'è un disastro (rottura di un disco)
La garanzia per tutti e tre i tipi di problema è il giornale, cioè un log delle transazioni.
Il giornale è compilato con il contenuto delle transazioni e ogni tanto avviene un allineamento con la base dati. L'allineamento può avvenire tramite una sospensione di tutte le transazioni, ma esistono anche tecniche che riducono i tempi di attesa.
Disfare le transazioni
Se un'operazione fallisce la transazione si deve DISFARE.
Se un'operazione riesce ma non siamo sicuri che il dato sia scritto nel disco, occorre RIFARE.
Il giornale NON è soggetto a buffering, quindi le informazioni sono sempre scritte direttamente sul disco.