Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Adatbázis rendszerek II
Tranzakció kezelés Általános Informatikai Tsz. Dr. Kovács László
2
Adatbázis kezelő műveletek jellemzése
Műveletsor végrehajtás Párhuzamos hozzáférések Integritás őrzés Adatvesztés elleni védelem DBMS KL
3
A atomiság C konzisztencia őrzés I izoláltság D tartósság Tranzakció
Tranzakció: logikailag összetartozó, egységként kezelt műveletsor A atomiság C konzisztencia őrzés I izoláltság D tartósság DBMS INSERT..UPDATE.. KL
4
Tranzakció Tranzakció leírása: műveletek + sorrendiség INSERT..UPDATE.. UPDATE..INSERT.. Műveletek megadása: r(x) Insert into T1 ... w(x) Select from T2 ... a Update T2 ... Update T1 ... c Commit KL
5
Tranzakció Sorrendiség megadása megelőzési reláció: o1 o2 Nem minden műveletpár között fontos a reláció ismerete, mert nem befolyásolja az eredményt Tranzakció gráf r(x) w(z) c Konfliktusban álló műveletpároknál ismerni kell a sorrendiséget: - azonos objektum - legalább az egyik művelet írás w(x) w(y) r(z) KL
6
Tranzakció Tranzakció formális felírása: A rendszerben több tranzakció futhat párhuzamosan ACID elvek !! T = (Te, ) Te = {r(x), w(x'), a, c | x,x' DB} Te Te a Te c Te p Te p a, ha a Te és p c, ha c Te p1, p2 Te, p1 és p2 konfliktusban áll p1 p2 vagy p2 p1 KL
7
History History: a rendszerben futó tranzakciók összessége H = (He, ) He = Te Nem minden history valósulhat meg ACID elvek !! T p1, p2 He, p1 és p2 konfliktusban áll p1 p2 vagy p2 p1 minden tranzakció helyesen formált KL
8
History RA history: Egy history visszagörgethető, ha minden tranzakció később zárul le minden olyan tranzakciónál, amiből ő olvasott. A nem RA history ellenmondást okoz a D és C elvekre nézve r1(x) w1(x) a1 r2(x) c2 w2(x) KL
9
History ACA history: Az abortálási lavinát elkerülő history-ban minden tranzakció csak már lezárt tranzakcióból olvas.. A nem ACA history felesleges erőforrás foglalást jelent r1(x) w1(x) a1 r2(x) w2(x) r3(x) w3(x) KL KL
10
History ST history: A szigorú history-ban egy tranzakció csak akkor írhat vagy olvashat egy adatelemet, ha az azt előtte módosító másik tranzakció már lezáródott. A nem ST history hibát okozhat abort esetén az implicit olvasás miatt r1(x) w1(x) a1 w2(x) a2 KL KL
11
History SR history: A sorossal ekvivalens history-ban bármely két tranzakció minden konfliktusban álló műveletpárjai között, ahol a műveletek nem azonos tranzakcióhoz tartoznak, azonos a megelőzési reláció. A nem SR history az elveszett módosítás jelenségét okozhatja r1(x) w1(x) c1 r2(x) w2(x) c2 KL KL
12
History S history: A soros historyban egy tranzakció bármely két művelete közé nem ékelődik be egy másik tranzakció valamely művelete. Az SR history önmagában nem elegendő, az S viszont túl szigorú r1(x) w1(x) a1 r1(x) w1(x) a1 r2(x) r2(x) w2(x) c2 w2(x) c2 KL KL
13
History A history típusok kapcsolata: minden ACA egyben RA minden ST egyben ACA minden S egyben SR és ST A tranzakció kezelő rendszerek célja az SR metszet ST history-k biztosítása. SR RA ACA ST S KL KL
14
Izoláció A izoláció problémája: A párhuzamosan futó tranzakciók egymásra hatásának minimalizálása Alap izolációs problémák: - lost update: w1(x) w2(x) - dirty read: w1(x) r2(x) w1(x) - not repeatable read: r1(x) w2(x) r1(x) DBMS INSERT..UPDATE.. INSERT..UPDATE.. KL
15
Izoláció Izolációs szintek: A DBMS által biztosított tranzakció függetlenségi fokok 0. szint anarchia, mind a három hiba jelenség felléphet 1. szint nincs átlapolt írás 2. szint első szint és nincs piszkos olvasás 3. szint második szint és ismételhető az olvasás SET TRANSACTION ISOLATION LEVEL szint; NOLOCK READ UNCOMMITED READ COMMITED REPEATABLE READ -SERIALIZABLE KL
16
Zárolás Zárolás mechanizmusa: A tranzakció lefoglalja az objektumot a használat idejére Finomság: az lefoglalt objektumok terjedelme mező, rekord, tábla Időtartam: lefoglalás és felengedés időpontjai Típusa: mely műveletek és milyen módon foglalnak le objektumot Kompatibilitás: különböző zárolási módok viszonya DBMS KL
17
Zárolás Kétfázisú zárolás mechanizmusa (2PL): A kétfázisú zárolás esetén a tranzakció végéig csak zárolások történhetnek, majd a tranzakció végén egyidejűleg történik a zárolások felengedése. Minden zárolási művelet megelőz minden feloldást. A nem 2PL zárolás esetén az RA, ACA elvek is megsérülhetnek zárolások száma r1(x) w1(x) a1 r2(x) tranzakció w2(x) c2 KL
18
Zárolás Zárolások típusai csak egyféle zárolási mód: az olvasások is blokkolják egymást csak írási: a lost update nem kerülhető el, túl laza irási és olvasási: megfelelő? ... r1(x) r2(x) r1(x) r2(x) w1(x) c2 w2(x) lr1(x), lw1(x) vagy ls1(x), lx1(x) Cél: ST és SR biztosítása, izoláció, ACID elvek betartása KL
19
Zárolás Deadlock Az objektumok lefoglalása miatt egymásra várakozó tranzakciók nem tudnak továbblépni, deadlock jelensége alakul ki Ez a zárolás gyenge pontja Deadlock kezelése: felismerés: timeout vagy WFG módszer feloldás: egyik tranzakció abortálása x T1 T2 y KL
20
Zárolás Helyes zárolás helyesen formált: minden művelet előtt van egy zárolás s minden zárolást követi annak művelet utáni felengedés A helyes zárolás valósul meg, ha - helyesen formált a zárolás - minden művelet zárol - van írási és olvasási zárolás - 2PL teljesül, a tranzakció végén felengedve az objektumokat lx1(x) r1(x) … w1(x) u1(x) c1 ls2(x) r2(x) … KL
21
Zárolás Zárolások felmínősítése: menet közben egy zárolási szintből magasabb szint lesz deadlock alakulhat ki ls1(x) r1(x) …lx1(x) w1(x) u1(x) ls2(x) r2(x) …lx2(x) w2(x) u2(x) Módosítási zárolás: az objektum most csak olvasott, de később írás következik majd Kompatibilitás: lu nem enged meg már más zárolást lu1(x) r1(x) …lx1(x) w1(x) u1(x) lu2(x) r2(x) …lx2(x) w2(x) u2(x) KL
22
SGT módszer SGT : tranzakció kezelési módszer, amely az SR history biztosítására szolgál Az SG gráf, egy olyan gráfot jelöl, melynek elemei a history-ban futó, commit-tal véglegesített tranzakciók, s élei irányítottak. Akkor létezik él egy T1 csomópontból a T2 csomópontba mutatva, ha létezik olyan konfliktusban álló műveletpár, melynek egyik tagja T1-hez, a másik tagja T2-höz tartozik, s a T1 csomóponthoz tartozó művelet megelőzi a T2-höz tartozó műveletet. r1(x) w1(x) w1(y) c1 T1 r2(z) w2(z) w2(y) c2 T3 r3(x) w3(x) w3(y) c3 T2 r4(x) w4(x) w4(y) a4 KL
23
SGT módszer A history akkor és csak akkor SR tulajdonságú, ha a hozzá tartozó SG gráf körútmentes. T1 T1 T3 T3 T2 T2 T4 T4 nem SR SR Az SG dinamikusan változik KL
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.