ZI Flashcards
Problemi istodobnog pristupa
nekonzistenta analiza - T1 čita nekoliko elemenata, neko pročita prije, a neke poslje izmjene koju je napravila T2
izgubljena izmjena - T1 pročita i obavi operaciju nad nekim elementom, ali prije zapisivanja taj element pročita, izmjeni i zapiše T2
prljavo čitanje - T1 pročita elemenet prije nego je T2, koja je prije T1 mijenjala taj element, potvrđena
Konfliktne operacije
operacije koje djeluju na isti element i barem je jedna od njih operacija pisanja
Serijska povijest Hs
ako sve operacije iz T1 prethode svim operacijama iz T2
Ekvivalentnost povijesti
Ako je rezultat izvršavanja H1 = rezultatu izvršavanja H2
Serijalizabilna SR, koflikt-serijalizabilna CSR
H je SR ako je ekvivalentna bilo kojoj serijskoj povijesti H2
H je CSR ako sadrži iste operacije kao i neka Hs te ako je svaki par konfliktnih operacija poredan na jednak način
serijalizacijski grad SG
usmjereni graf čiji su čvorovi transakcije, a lukovi konfliktne operacije –> ispituje je li povijest CSR, ako je aciklički onda je CSR
pogled - serijalizabilna povijest VSR
H je VSR …
problemi vezani uz obnovu
obnovljiva povijest RC - transakcija smije biti potvrđena tek nakon što su potvrđene transakcije iz kojih je čitala
- RC ako Tx ima r koji je mjenjala Ty sa w cx mora biti poslje cy
povijest koja izbjegava kaskadno poništavanje ACA - transakcija smije čitati samo one vrijednosti koje su potvrđene, tj. koje je zapisala već potvrđena transakcija
- ACA ako Tx ima r koji mjenja Ty, cy/ay mora biti prije r
striktna povijest ST - niti jedan element se ne smije niti čitati niti pisati dok sve transakcije koje su prije toga pisale u taj element ne završe
- ako prije cx Ty cita/pise u isti element kao i cx nije strikrna
2PL
- mogučnost potpunog zastoja
- ključevi S i X, sL[x], xL[x], uL[x]
- faza rasta i sažimanja
temeljni
- element može biti zaključan 1 X ili više S
- T nakon otpuštanja ključa ne može postavljati nove
- promocija ključeva - može S pretvoriti u X, da u međuvremenu ostale čitaju
- garantira CSR
striktni
- X ključevi se smiju otpustiti tek nakon potvrđivanja transakcije
- garantira da je povijest ST
rigorozni
- svi ključevi se smiju otpustiti tek nakon potvrđivanja transakcije
Menađer zakljulčavanja LM
- zeključani elementi u povezanoj listi
- lista se sprema u tablicu s raspršenim adresiranjem
- potvrda zaključavanja first come - first serverd
- u protivnom pojava izgladnjivanja
Potpuni zastoj
T1 čeka zbog T2 ključa i obratno
2PL
prevencija:
- konzervativni 2PL
- svaka T na početku deklarira koje če podatke citati a u koje pisati
- svi ključevi se postavljaju na samom početku
- ako nije uspjela postaviti sve ne smije zadržati niti jedan
- propisivanje redosljeda zaključavanja
- utvrđuje se potpuni poredak među elementima
- svaka transakcija mora zaključati elemente u redosljedu koji je konzistentan s utvrđenim poretkom elemenata
- metode s vremenskim oznakama
- svakoj transakciji se dodijeli jedinstvena vremenska oznaka
- wait - die –> starija čeka mlađu da otpusti, mlađa ne čeka
- wound - wait –> starija prekida mlađu, mlađa čeka
- izgladnjivanje mlađe spriječeno na način da se mlađa ponovno pokreće sa starom oznakom vremena
Detekcije potpunog zastoja i oporavak
- praćenje vremena čekanja na postavljanje ključeva -> ako je dulje od određenog parametra, pretpostavlja se potpuni zastoj i prekida se
- WGF - graf čekanja
- usmjereni graf, čvorovi transakcije, lukovi ovisnosti čekanja ključeva
- u graf se novi čvor dodaje pokretanjem transakcije
- novi luk se dodaje ako T1 čeka zbog ključa kojeg drži T2
- luk se izbacuje kada ključ prestane blokirati
- čvor i svi pripadni ključevi se izbacuju kada se transakcija terminira
- prilikom potpunog zastoja odabire se victim i poništava
Ključ za izmjenu U ključ
kada T1 zaključa x U ključem
- T1 može čitati x
- ako x nije zaključan S ključ. drugih trans. T1 može promovirati U u X ključ
T1 može postaviti U na element koji ima S drugih
ako je x zaključan s U, druge ne smiju staviti U i X
ne moze se promovirati S u U ili X
Ako zna da će pisati mora staviti U ili X, ne može promovirati S u U ili X
MGL zaključavanje ne više razina granulacije
- zaključavanjem elementa x implicitno se zaključavaju i svi potomci x istim ključem
- koriste se ključevi upozorenja
- IS - na nižim razinama postoje elementi S ključ
- IX - -||- S ili X ključ
- SIX - na elementu di je SIX je S ključ, na nižim postoji X ključ
pogodan za kratke transakcije koje pristupaju malom broju elemenata
duge transakcije koje pristupaju velikom broju elemenata
Sablasne n-torke
n-torke koje ne postoje kada T1 postavlja ključeva na n-torke koje zadovoljavaju neki predikat. A transakcija T2 nakon toga unese n-torku koja zadovoljava predikat