Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Adatbázis rendszerek II Kovács László A tranzakció-kezelés alapjai.

Hasonló előadás


Az előadások a következő témára: "Adatbázis rendszerek II Kovács László A tranzakció-kezelés alapjai."— Előadás másolata:

1

2 Adatbázis rendszerek II Kovács László A tranzakció-kezelés alapjai

3 SELECT UPDATE INSERT ERSTE BANK ME Tranzakció fogalma több elemi művelet alkot egy egységet ezek együttesen érvényesülhetnek csak

4 Tranzakció-kezelés feladata A párhuzamosan bejövő igények ütemezése, a sorrend átalakítása a helyes eredmény érdekében számla A prog.B prog. rara rbrb wawa wawa uaua ubub SELECT UPDATE SELECT UPDATE ‘lost update’ jelensége Kívánalmak: A: atomiság C: konzisztencia-őrzés I: izoláció D: tartósság

5 History fogalma Az izoláció problémája a párhuzamosan futó tranzakciók között lép fel. History: az együtt élő tranzakciók rendszere r 1 (x) w 1 (x) c 1 r 2 (x) w 2 (x) c 2 r 1 (x) w 1 (x) c 1 r 2 (x) w 2 (x) c 2 igényelt megvalósult Transaction Manager

6 Zárolási mechanizmus A TM átrendezi a parancsok végrehajtási sorrendjét Zárolás: a parancsok blokkolása az erőforrások lefoglalásán keresztül objektum tranzakció Atranzakció B A Zárolási paraméterek: - objektum mérete - zárolás időtartama - zárolás jellege - blokkolt művelet

7 Zárolási mechanizmus A zárolás folyamata erőforrás pazarlással járhat - tranzakció várakozása - deadlock alakulhat ki - tranzakció menet közben abortálódhat Működési változatok a zárolás menetében: - optimista zárolás - pesszimista zárolás - finomított zárolási módok - SR figyelés ellenőrizvégrehajtellenőrizvégrehajt ellenőriz végrehajt

8 Izolációs szintek A teljes izoláció megöli a párhuzamosságot A gyakorlatban korlátozott izolációt igényelnek SQL izolációs szintek: NOLOCK (anarchia, nincs izoláció) READ UNCOMMITED (nem véglegesített adat is olvasható) READ COMMITED (csak véglegesített adat olvasható) REPEATABLE READ (olvasott érték nem változik) SERIALIZABLE (teljes izoláció, nincs párhuzamosság) r 1 (x)w 1 (x)c1c1 r 2 (x)w 2 (x)c2c2 r 1 (x)w 1 (x)c1c1 r 2 (x)w 2 (x)c2c2

9 KÉP Salvador Dali ( ):

10 Tranzakció leírása Az elemek mellett a sorrendiséget is ismerni kell Mikor lényeges a sorrendiség? ha a két művelet - valamelyike írás - azonos objektumra vonatkoznak Konfliktusban álló műveletek Meg kell adni a végrehajtandó műveleteket - olvasás- írás - elfogadás- visszagörgetés Fontos az érintett objektum megadása is - táblák - mezők

11 r(dolgozo) tranzakció gráf Tranzakció leírása jelölések: x: objektum r(x), w(x), c, a: műveletek A  B : megelőzési reláció A tranzakció elemeit tömören egy gráffal adhatjuk meg SELECT * FROM DOLGOZO; SELECT * FROM UZEM; UPDATE DOLGOZO SET FIZ=0; COMMIT; r(uzem) w(dolgozo) c SQL parancsok

12 r 1 (dolgozo) history gráf A párhuzamosan futó tranzakciók együttese A tranzakció elemek kibővülnek a tranzakciók közötti megelőzési relációkkal A műveletek jele kibővül egy tranzakció indexszel A history elemeit is egy gráffal adhatjuk meg T1: SELECT * FROM DOLGOZO; T2: SELECT * FROM UZEM; T2: UPDATE DOLGOZO SET FIZ=0; T1: DELETE FROM UZEM; T2: COMMIT; T1: ROLLBACK; r 2 (uzem) w 2 (dolgozo) a1a1 SQL parancsok History leírása w 1 (uzem) c2c2

13 History típusok RA history: a tranzakció akkor záródhat le, ha már az a tranzakció is lezáródott, amiből olvasott r1(x) r2(x)c2w2(x) w1(x)a1 r1(x) r2(x)w2(x) w1(x) a1r3(x)w3(x) ACA history: a tranzakció akkor olvashat egy adatot, ha az azt utoljára módosító tranzakció lezáródott

14 r1(x) w2(x) w1(x)a1 a2 History típusok ST history: a tranzakció akkor olvashat vagy írhat egy adatot, ha az azt utoljára módosító tranzakció lezáródott r1(x) w2(x) w1(x) r2(x) c1 c2 SR history: a tranzakciók a konfliktusban álló elemekre vonatkoztatva nem fedik át egymást r1(x) w2(x) w1(x) r2(x) c1 c2 S history: a tranzakciók nem fedik át egymást

15 SR RA ACASTS History típusok history típusok kapcsolata A teljes izolációt az ST  SR history biztosítja Különböző TM módszerek léteznek az ST  SR history biztosítására : - zárolás - TO

16 Zárolási típusok Objektum finomsága kis méretnagy méret kevesebb konfliktus több konfliktus nagyobb adminisztráció kisebb adminisztráció Zárolt művelet - csak írás : exclusive (kizárólagos hozzáférés) - olvasási : shared (osztott hozzáférés) - módosítási: update (előjegyzett kizárólagos) Zárolás időtartama - művelet idejére (nem ad ACA historyt) - tranzakció végéig : 2PL (kétfázisű zárolás)

17 Helyes zárolás: - helyesen formált a zárolás (zárolás- művelet-felengedé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 A helyes zárolás ST  SR historyt ad Zárolási típusok A helyes zárolás teljes izolációt eredményez, a gyakorlatban sokszor enyhítenek rajta

18 r 1 (dolgozo) history gráf Két új művelet: - zárolás : l t mód (x) - felengedés: U(x) A zárolt objektumot igénylő tranzakció várakozásra kényszerül T1: SELECT * FROM DOLGOZO; T2: SELECT * FROM UZEM; T2: UPDATE DOLGOZO SET FIZ=0; T1: DELETE FROM UZEM; T2: COMMIT; T1: ROLLBACK; w 2 (dolgozo) SQL parancsok Kibővített history leírása c2c2 l 1 r (dolgozo) l 2 w (dolgozo) r 2 (uzem) w 1 (uzem) l 2 r (uzem) l 1 w (uzem) u 2 (dolgozo) u 2 (uzem) a1a1 u 1 (uzem) u 1 (dolgozo)

19 Deadlock kezelése T1T2 x y A tranzakciók egymás igényelt objektumait fogják Külső beavatkozás kell a továbblépéshez WFG módszer (körút van a gráfban) Timeout módszer (letelt az idő) Feloldás módszere: - detektálás - egyik tranzakció abortálása

20 Alap izolációs problémák: - lost update:w 1 (x)  w 2 (x) - dirty read:w 1 (x)  r 2 (x)  w 1 (x) - not repeatable read:r 1 (x)  w 2 (x)  r 1 (x) Izolációs szintek A DBMS által biztosított tranzakció függetlenségi fokok NOLOCK 0. szintanarchia, mind a három hiba jelenség felléphet READ UNCOMMITED 1.szintnincs átlapolt írás READ COMMITED 2. szintelső szint és nincs piszkos olvasás REPEATABLE READ 3. szintmásodik szint és ismételhető az olvasás SERIALIZABLE

21 kép Salvador Dali. A nárcisz metamorfózisa

22 Tranzakció-kezelés speciális elemei Tranzakció formális felírása History formális felírása RA-ACA kapcsolat biz. ACA-ST kapcsolat biz. SR,S és ST kapcsolat biz. Helyes zárolás és ST/SR kapcsolat biz Kompatibilitási mátrix

23 Salvador Dali. Az emlékezet álhatatossága (1931)


Letölteni ppt "Adatbázis rendszerek II Kovács László A tranzakció-kezelés alapjai."

Hasonló előadás


Google Hirdetések