ADATBÁZIS- RENDSZEREK 12. rész: Konkurenciavezérlés.

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

Nevezetes algoritmusok
Természetes számok 0, 1, 2, 3, ..., 24, 25, ..., 1231, 1232, ..., n, ...  = {0, 1, 2, 3, ..., n,...} a természetes számok halmaza Műveletek: összeadás.
KÉSZÍTETTE: Takács Sándor
Összefoglalás Hardver,szoftver,perifériák Memóriák fajtái
Lekérdezések SQL-ben Relációs algebra A SELECT utasítás
A tevékenységhosszak és az erőforrás- mennyiségek kapcsolata Készítette: Szentirmai Róbert (minden jog fenntartva)
Recovery (helyreállítás) feladatok gyakorlatra
Függvények Egyenlőre csak valós-valós függvényekkel foglalkozunk.
Jt Java Feltételek, logikai kifejezések. jt 2 Logikai operátorok Logikai kifejezésekre alkalmazhatók a következő műveletek: 1. nem! 2. és&ill.&& 3. kizáró.
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
Algoritmus Az algoritmus problémamegoldásra szolgáló elemi lépések olyan sorozata, amely: véges – azaz véges számú lépés után befejeződik, és eredményt.
Konkurenciavezérlés.
4. Helyes zárójelezés algoritmusa
Tematika Helyreállíthatóság (Failure Recovery) (8. fejezet) Konkurenciavezérlés (Concurrency control) (9. fejezet) Tranzakciókezelés (Transaction processing)
Csoport részcsoport invariáns faktorcsoport részcsoport
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Az összehasonlító rendezések
Algebra a matematika egy ága
Adatbázis rendszerek II
A digitális számítás elmélete
Tranzakciók gyakorlati anyag
Tranzakciók gyakorlati anyag PPKE-ITK, Database Systems, 2010.
Év eleji információk Előadó: Hosszú Ferenc II. em Konzultáció: Szerda 9:50 – 10:35 II. em
Valós számok Def. Egy algebrai struktúra rendezett test, ha test és rendezett integritási tartomány. Def. Egy (T; +,  ;  ) rendezett test felső határ.
Konkurenciavezérlés. Egyszerre több tranzakció is ugyanazt az adatbázist használja. T1T2…Tn Konzisztens adatbázis Az adatbázisnak konzisztensnek kell.
A számfogalom bővítése
A digitális számítás elmélete
Adatbázis rendszerek II
Zárolási módszerek blokkolás sorrendiség igény Paraméterek finomság időtartam mód.
WC 1/4. ACID SELECT UPDATE INSERT ERSTE BANK ME TRANZAKCIÓK 2/4.
A munkanélküli…. Bihal.
Objektumorientált tervezés és programozás II. 3. előadás
Tranzakciókezelés.
Előrendezéses edényrendezés – RADIX „vissza”
Hálózati architektúrák
Fogyasztók az áramkörben
Funkciói, feladatai és területei
Szintaktikai, szemantikai szabályok
Összetett adattípusok
1.4. Fordítás, szerkesztés, az objektumkönyvtár használata.
VÉGES AUTOMATA ALAPÚ TERVEZÉSI MODELL
13. A zillmerezés, mint bruttó
A logika története – mi a tárgya és hol kezdődik?
Vektorterek Definíció. Legyen V Abel-csoport, F test, továbbá
Lagrange-interpoláció
Tíz játék, tizenegy tüskén Székely Márton
Adatbázis kezelés.
Számrendszerek kialakulása
1. MATEMATIKA ELŐADÁS Halmazok, Függvények.
1 Vektorok, mátrixok.
A termodinamika II. főtétele
Mesterséges Intelligencia 1. Eddig a környezet teljesen megfigyelhető és determinisztikus volt, az ágens tisztában volt minden cselekvésének következményével.
Logika szeminárium Előadó: Máté András docens Demonstrátorok:
Algebrai struktúrák: csoport, gyűrű, test. RSA Cryptosystem/ Titkosítási rendszer Rivest, Shamir, Adelman (1978) RSA a neten leggyakrabban használt.
Pipeline példák. Pipe 1. feladat Adott a következő utasítás sorozat i1: R0 MEM [R1+8] i2: R2 R0 * 3 i3: R3 MEM [R1+12] i4: R4 R3 * 5 i5: R0 R2 + R4 A.
A probléma gyökere: a szuperpozíció elve
A természetes számok szorzása
Készítette: Mátyás István agrár mérnöktanár szakos hallgató,
Adva S  parbegin S 1 ...  S n parend; Párhuzamos programszerkezet két vagy több olyan folyamatot tartalmaz, amelyek egymással közös változó segítségével.
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
Kémiai reakciók iránya
Félcsoport (semigroup) = ({s},{ *: s s  s [infix]}. semigroup is a type specification = sorts: s oprs: *: s s  s [infix] eqns: m 1, m 2, m 3  s (m 1.
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
Adatbázisok 1. SQL (alkérdések). Az IN használata Emlékezzünk vissza: Az IN után szereplő multihalmaz elemei lekérdezéssel is megadhatók SELECT nev FROM.
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Marosvásárhely
Információs rendszerek
Szekvenciális hálózatok
Kockázat és megbízhatóság
Grosz Imre f. doc. Sorrendi áramkörök
Előadás másolata:

ADATBÁZIS- RENDSZEREK 12. rész: Konkurenciavezérlés

Mi ez? A tranzakciók közötti egymásra hatás az adatbázis- állapot inkonzisztensé válását okozhatja, még akkor is, amikor a tranzakciók külön-külön megőrzik az állapot helyességét, és rendszerhiba sem történt. Szabályozni kell, hogy a különböző tranzakciók egyes lépései milyen sorrendben következzenek egymás után. A lépések szabályozásának a feladatát az ütemező végzi. Azt az általános folyamatot, amely biztosítja, hogy a tranzakciók egyidejű végrehajtása során megőrizzék a konzisztenciát, konkurenciavezérlésnek nevezzük.

Kérdés Hogyan biztosítható, hogy a konkurensen végrehajtott tranzakciók megőrizzék az adatbázis-állapot helyességét? Elméleti követelmény: sorbarendezhetőség. Erősebb feltétel: konfliktus-sorbarendezhető- ség. Az ütemezők legfontosabb megvalósítási technikái: zárolás, időbélyegzés, érvényesítés.

Soros és sorba rendezhető ütemezések Alapfeltevés: „helyességi elv”: ha miden egyes tranzakciót elkülönítve hajtunk végre, akkor az adatbázist konzisztens állapotból konzisztens állapotba alakítjuk. A gyakorlat: „ütemezéseket” kell tekintenünk, amelyek biztosítják, hogy ugyanazt az eredményt állítják elő, mintha a tranzakciókat egyesével hajtottuk volna végre. A tárgyalandó módszerek azt biztosítják, hogy a tranzakciók csak olyan módon legyenek konkurensen végrehajtva, mintha sorban, egyesével futottak volna le.

Ütemezések Def: az ütemezés egy vagy több tranzakció által végrehajtott lényeges műveletek (READ, WRITE) időrendben vett sorozata. Példa: konzisztencia-megszorítás: A=B T1T2 READ(A,t)READ(A,s) t:= t+100 s: = s*2 WRITE(A,t)WRITE(A,s) READ(B,t)READ(B,s) t: = t+100 s:= s*2 WRITE(B,t)WRITE(B,s)

Soros ütemezések Def: azt mondjuk, hogy egy ütemezés soros, ha úgy épül fel a tranzakciós műveletekből, hogy először az egyik tranzakció összes műveletét tartalmazza, majd egy másik tranzakció összes műveletét. (T1,T2) T1T2AB 2525 READ(A,t) t:= t+100 WRITE(A,t)125 READ(B,t) WRITE(B,t)125 READ(A,s) s:= s*2 WRITE(A,s)250 READ(B,s) WRITE(B,s)250

Soros ütemezések Soros ütemezés másként: (T2,T1) Általában nem várjuk el, hogy az adatbázis végső állapota független legyen a tranzakciók sorrendjétől. T1T2AB 2525 READ(A,s) s:= s*2 WRITE(A,s)50 READ(B,s) WRITE(B,s)50 READ(A,t) t:= t+100 WRITE(A,t)150 READ(B,t) WRITE(B,t)150

Sorba rendezhető ütemezések Def: azt mondjuk, hogy egy ütemezés sorba rendezhető, ha ugyanolyan hatással van az adatbázis állapotára, mint valamelyik soros ütemezés, függetlenül attól, hogy mi volt az adatbázis kezdeti állapota. T1T2AB 2525 READ(A,t) t:= t+100 WRITE(A,t)125 READ(A,s) s:= s*2 WRITE(A,s)250 READ(B,t) t:= t+100 WRITE(B,t)125 READ(B,s) s:= s*2 WRITE(B,s)250 Nem soros, de sorba- rendez- hető A=2(c+100) B=2(c+100)

Nem sorba rendezhető ütemezések T1T2AB 2525 READ(A,t) t:= t+100 WRITE(A,t)125 READ(A,s) s:= s*2 WRITE(A,s)250 READ(B,s) WRITE(B,s)50 READ(B,t) t:= t+100 WRITE(B,t)150 Nem sorba- rendez- hető A=2*(A+100) B=2*B+100

Jelölések T1T2 READ(A,t)READ(A,s) t:= t+100 s: = s*2 WRITE(A,t)WRITE(A,s) READ(B,t)READ(B,s) t: = t+100 s:= s*2 WRITE(B,t)WRITE(B,s) T 1 : r 1 (A);w 1 (A);r 1 (B);w 1 (B); T 2 : r 2 (A);w 2 (A);r 2 (B);w 2 (B);

Tehát: T1T2AB 2525 READ(A,t) t:= t+100 WRITE(A,t)125 READ(A,s) s:= s*2 WRITE(A,s)250 READ(B,t) t:= t+100 WRITE(B,t)125 READ(B,s) s:= s*2 WRITE(B,s)250 r1(A);w1(A);r2(A);w2(A);r1(B);w1(B);r2(B);w2(B);

Konfliktus-sorbarendezhetőség Konfliktus: olyan egymást követő művelet-pár az ütemezésben, amelynek ha a sorrendjét megcseréljük, akkor legalább az egyik tranzakció viselkedése megváltozhat. Nincsenek konfliktusban: r i (X);r j (Y); r i (X);r j (Y); r i (X);w j (Y);, feltéve, ha X≠Y r i (X);w j (Y);, feltéve, ha X≠Y w i (X);r j (Y);, feltéve, ha X≠Y w i (X);r j (Y);, feltéve, ha X≠Y w i (X);w j (Y);, feltéve, ha X≠Y w i (X);w j (Y);, feltéve, ha X≠YDe: r i (X);w i (Y) konfliktus r i (X);w i (Y) konfliktus w i (X);w j (X) konfliktus w i (X);w j (X) konfliktus r i (X);w i (X) konfliktus r i (X);w i (X) konfliktus

Tanulság: Különböző tranzakciók bármely két műveletének sorrendje felcserélhető, hacsak nem Ugyanarra az adatbáziselemre vonatkoznak és Ugyanarra az adatbáziselemre vonatkoznak és Legalább az egyik művelet írás. Legalább az egyik művelet írás. Azt mondjuk, hogy két ütemezés konfliktusekvivalens, ha szomszédos műveletek nem konfliktusos cseréinek sorozatával az egyiket átalakíthatjuk a másikká. Azt mondjuk, hogy egy ütemezés konfliktus- sorbarendezhető, ha konkfliktusekvivalens valamely soros ütemezéssel.

Példa r 1 (A);w 1 (A);r 2 (A);w 2 (A);r 1 (B);w 1 (B);r 2 (B);w 2 (B); Áll: ez az ütemezés konfliktus-sorbarendezhető. Biz: r 1 (A);w 1 (A);r 2 (A);w 2 (A);r 1 (B);w 1 (B);r 2 (B);w 2 (B); r 1 (A);w 1 (A);r 2 (A);r 1 (B);w 2 (A);w 1 (B);r 2 (B);w 2 (B); r 1 (A);w 1 (A);r 1 (B);r 2 (A);w 2 (A);w 1 (B);r 2 (B);w 2 (B); r 1 (A);w 1 (A);r 1 (B);r 2 (A);w 1 (B);w 2 (A);r 2 (B);w 2 (B); r 1 (A);w 1 (A);r 1 (B);w 1 (B);r 2 (A);w 2 (A);r 2 (B);w 2 (B);

A sorbarendezhetőség biztosítása zárakkal Az ütemező feladata az, hogy megakadályozza az olyan műveleti sorrendeket, amelyek nem sorbarendezhető ütemezésekhez vezetnek. Pl. ún. zárakkal. Az adatbáziselemekre kiadott zárak akadályozzák meg a nem sorbarendezhető viselkedést. A tranzakciók zárolják azokat az adatbáziselemeket, amelyekhez hozzáférnek, hogy megakadályozzák azt, hogy ugyanakkor más tranzakciók is hozzáférjenek ezekhez az elemekhez, mivel ekkor felmerülne a nem sorbarendezhetőség kockázata.

Zárak A zárak használatának két értelemben is helyesnek kell lennie, mind a tranzakciók szerkezetére, mind az ütemezők szerkezetére alkalmazva: Tranzakciók konzisztenciája: a tranzakció csak akkor olvashat vagy írhat egy elemet, ha már korábban zárolta az elemet, és még nem oldotta fel a zárat. Ha egy tranzakció zárol egy elemet, akkor később azt fel kell szabadítania. Tranzakciók konzisztenciája: a tranzakció csak akkor olvashat vagy írhat egy elemet, ha már korábban zárolta az elemet, és még nem oldotta fel a zárat. Ha egy tranzakció zárol egy elemet, akkor később azt fel kell szabadítania. Az ütemezések jogszerűsége: nem zárolhatja két tranzakció ugyanazt az elemet, csak úgy, ha az egyik előbb már feloldotta a zárat. Az ütemezések jogszerűsége: nem zárolhatja két tranzakció ugyanazt az elemet, csak úgy, ha az egyik előbb már feloldotta a zárat.

Példa (konzisztens tranzakciók jogszerű ütemezése) T1T2AB 2525 l 1 (A);r 1 (A); A:= A+100 w 1 (A);u 1 (A); 125 l 2 (A);r 2 (A); A:= A*2; w 2 (A);u 2 (A); 250 l 2 (B);r 2 (B); B:= B*2; w 2 (B);u 2 (B); 50 l 1 (B);r 1 (B); B:= B+100; w 1 (B);u 1 (B); 150 Sajnos nem sorbarendezhető

Kétfázisú zárolás (2FZ) Egy feltétellel biztosítani tudjuk, hogy konzisztens tranzakciók jogszerű ütemezése konfliktus-sorbarendezhető legyen: Minden tranzakcióban minden zárolási művelet megelőzi az összes zárfeloldási műveletet.

Példa T1T2AB 2525 l 1 (A);r 1 (A); A:= A+100; w 1 (A);l 1 (B);u 1 (A); 125 l 2 (A);r 2 (A); A:= A*2; w 2 (A); 250 l 2 (B);Elutasítva r 1 (B); B:= B+100; w 1 (B);u 1 (B); 125 l 2 (B);u 2 (A);r 2 (B); B:= B*2; w 2 (B);u 2 (B); 250 Kétfázisú zárolással, konzisztens tranzakciók, jogszerű ütemezése konfliktus-sorbarendezhető.

És még… Különböző zármódú zárolási rendszerek léteznek. A sorbarendezhetőség biztosítására más módszerek is léteznek: Időbélyegzés, Időbélyegzés, Érvényesítés. Érvényesítés. (Ezekkel most nem foglalkozunk.)

Folytatjuk …