Skip to content

Commit

Permalink
vault backup: 2025-02-01 13:53:50
Browse files Browse the repository at this point in the history
  • Loading branch information
AglaiaNorza committed Feb 1, 2025
1 parent 5012ab9 commit bc038a5
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
4 changes: 2 additions & 2 deletions basi di dati 1/19 - il meccanismo di lock, lock binario.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Una transazione viene quindi interpretata come sequenza di `lock` e `unlock`:

>[!info] equivalenza
>Due schedule si definiscono quindi equivalenti se le formule che danno i valori finali per ciascun item sono le stesse.
>- devono essere uguali, per ogni item, a quelle di almeno uno schedule seriale

>[!summary] serializzabilità
>Uno schedule è **serializzabile** se è equivalente ad uno schedule seriale (come già visto)
Expand Down Expand Up @@ -122,4 +122,4 @@ Una transazione obbedisce al protocollo di locking a due fasi se:
>
>Entriamo subito in una contraddizione: infatti, il ciclo si chiude solo nel caso una transizione $T_{k}$ abbia fatto un unlock e, subito dopo, $T_{1}$ un lock. Ma questo non è possibile se ogni transazione è a due fasi --> abbiamo dimostrato che due fasi $\implies$ ogni schedule serializzabile
### vantaggi
Il lock a due fasi risolve il problema dell'aggregato non corretto (una transazione $T_{2}$ non ha accesso ai dati `locked` di $T_{1}$ fino a quando essa non li rilascia, e $T_{1}$ legge prima tutti i dati di cui ha bisogno, e poi li usa)
Il lock a due fasi **risolve il problema dell'aggregato non corretto** (una transazione $T_{2}$ non ha accesso ai dati `locked` di $T_{1}$ fino a quando essa non li rilascia, e $T_{1}$ legge prima tutti i dati di cui ha bisogno, e poi li usa)
2 changes: 1 addition & 1 deletion basi di dati 1/20 - deadlock e livelock.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Per risolvere il sussistere di una situazione di stallo, una transazione nel cic
### approcci preventivi
In genere, si cerca di evitare il verificarsi di situazioni di stallo adottando opportuni protocolli.

Per esempio, si possono ordinare gli item e imporre alle transazioni di richiedere i lock necessari seguendo tale ordine.
Per esempio, si possono *ordinare gli item* e imporre alle transazioni di richiedere i lock necessari seguendo tale ordine.
- così non ci possono essere cicli nel grafo di attesa

![[prevenire-deadlock.png|center|350]]
Expand Down

0 comments on commit bc038a5

Please sign in to comment.