Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1 2
Il concetto di Transazione Questo esempio mostra che il buon funzionamento di una
transazione richiede che la stessa abbia le seguenti
Es. di transazione: proprietà:
Accredito di £. L dal conto corrente X della filiale b1 della Atomicità:
banca B1 al conto corrente Y della filiale b2 della banca B2. una transazione può terminare in due soli modi:
commit
abort
annullamento del tutto e ripristino
della situazione precedente l’inizio della
transazione
Persistenza
Serializzabilità:
In un sistema transazionale di grandi dimensioni è
generalmente necessario poter eseguire transazioni
concorrenti (in esecuzione contemporanea).
Al fine di mantenere una situazione corretta e consistente,
le transazioni concorrenti devono essere serializzabili.
Ciò vuol dire che la loro esecuzione concorrente deve
equivalere ad una qualsiasi esecuzione in sequenza delle
stesse.
3 4
Affidabilità (Reliability)
Memoria stabile
Un sistema transazionale è affidabile quando è in grado di
sopportare guasti e malfunzionamenti senza pregiudicare La memoria stabile è un dispositivo fisico, quindi non
atomicità e persistenza delle transazioni. esente da guasti: ad esempio, la testina di un disco
magnetico può rovinare e rendere illeggibili delle tracce.
L’affidabilità è demandata a due componenti principali:
Precauzioni:
Memoria stabile “resistente ai guasti” Ci sono vari metodi e livelli di sicurezza.
Protocolli “robusti” nel trattare le operazioni di Ad esempio, più dischi con copie (mantenute) identiche dei
modifica dei dati (fra le operazioni read/write, quelle dati e modalità di guasto indipendenti.
pericolose sono le write)
5 6
Protocolli(*) e meccanismi di ripresa (tipo undo-redo): Controllo della concorrenza:
9 10
Controllo concorrenza: gestione dei lock
11 12
Controllo concorrenza: gestione degli unlock Esempio 1:
13 14
Esempio 2: Controllo concorrenza: problemi del locking C/E
D=0
T1:
T11: leggi D e scrivilo in X
T12: leggi D e scrivilo in Y
15 16
Sequenza d’ esecuzione 1: T11, T2, T12 Controllo concorrenza: Two-Phase Lock
D = 0; T11 X=0; T2 D=3; T12 Y=3;
Garanzia di atomicità:
Non è possibile rilasciare una risorsa prima di aver
eseguito il commit o l’abort e di avere svolto su di
essa eventuali operazioni di scrittura.
17 18
Two-Phase lock: Esempio 1 Controllo concorrenza: Deadlock
Privatezza:
Controllo di accesso, da concedere ai soli utenti autorizzati.
21 22