Académique Documents
Professionnel Documents
Culture Documents
Controlul concurentei
prin blocare
Sisteme de gestiune a
bazelor de date,
2014-2015
C4. SGBD
Controlul concurentei prin blocare
Blocarea resurselor
Nivele de izolare si blocari
Asigurarea serializabilitatii - 2PL
Interblocari
Prevenire
Evitare
Detectie si iesire
C4. SGBD
Matricea compatibilitatilor:
Shared
Excl
Shared
Excl
C4. SGBD
C4. SGBD
C4. SGBD
Read Uncommitted
Tr
Read Committed
Op
Tr
Repeatable Read
Tr (record)
Tr (record)
Serializable
Tr (table)
Tr (table)
C4. SGBD
T2
WL(y)
W(y)
WL(x)
W(x)
WU(y)
WU(x)
C2
C4. SGBD
T2
WL(x)
W(x)
WU(x)
RL(y)
R(y)
RU(y)
C1
WL(y)
W(y)
WL(x)
W(x)
WU(y)
WU(x)
C2
C4. SGBD
T2
WL(x)
W(x)
WL(y)
W(y)
RL(y)
WL(x)
R(y)
WU(x)
RU(y)
C1
W(x)
WU(y)
WU(x)
C2
C4. SGBD
T2
RL(x)
R(x)
RL(x)
R(x)
WL(x)
WL(x)
W(x)
--RU(x)
WU(x)
C1
W(x)
--RU(x)
WU(x)
C2
C4. SGBD
C4. SGBD
2PL
C4. SGBD
Deadlock
T2
WL(x)
W(x)
WL(y)
W(y)
RL(y)
WL(x)
R(y)
WU(x)
RU(y)
C1
W(x)
WU(y)
WU(x)
C2
C4. SGBD
Deadlock
T2
RL(x)
R(x)
RL(x)
R(x)
WL(x)
WL(x)
W(x)
--RU(x)
WU(x)
C1
W(x)
--RU(x)
WU(x)
C2
Deadlock
Prevenire
Metoda cererilor anticipate (2PL conservativ)
Metoda ordonarii
Evitare
Wait-die
Wound-wait
Detectie si iesire
Timeout
Waits-for graph
Extern
=> anularea unor tranzatii victima
C4. SGBD
Deadlock / wait-die
C1
C4. SGBD
C4. SGBD
Deadlock / wait-die
C1
C4. SGBD
Deadlock / wait-die
C1
C2
C4. SGBD
Deadlock / wait-die
C1
C2
Deadlock / wound-wait
C1
C4. SGBD
Deadlock / wound-wait
C1
C4. SGBD
Deadlock / wound-wait
C1
C2
C4. SGBD
Deadlock / wound-wait
C1
C2
C4. SGBD
Wait-die / Wound-wait
C4. SGBD
Exemplul 1:
Situatie
T1
T2
--------------------R1(x)
R2(y)
W1(y)
W2(x)
Wait-die
T1
T2
--------------------R1(x)
R2(y)
W1(y) (wait)
W2(x) (A)
Wound-wait
T1
T2
--------------------R1(x)
R2(y)
W1(y) (Abort T2)
C4. SGBD
Deadlock
Exemplu WFG, {T1, T2}
T1
T2
WL(x)
W(x)
WL(y)
W(y)
RL(y)
WL(x)
R(y)
WU(x)
RU(y)
C1
W(x)
WU(y)
WU(x)
C2
C4. SGBD
Deadlock
T1
T2
T3
RL(x)
R(x)
RL(x)
R(x)
RL(x)
R(x)
T4
RL(y)
R(y)
WL(y)
...
WL(y)
...
WL(y)
...
WL(x)
...
Exemplu WFG,
{T1, T2, T3, T4}