Adatbázis rendszerek II

Slides:



Advertisements
Hasonló előadás
Lekérdezések SQL-ben Relációs algebra A SELECT utasítás
Advertisements

© Kozsik Tamás Adatbáziskezelés •Relációs adatbáziskezelők •Noha a Java objektum-elvű, egyelőre nem az objektum-elvű adatbáziskezelőket támogatja.
Adatbázis rendszerek I
Anyagadatbank c. tárgy gyakorlat
Adatbázisok SQL. TARTALOM Szijártó M.2 Témakörök  Az SQL tulajdonságai  A műveletek fajtái  Objektum-műveletek  Lekérdezések Tulajdonságok és műveletek.
15. tétel Adatbázis felhasználói és jogosultságaik
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
1 Informatikai Szakképzési Portál Adatbázis kezelés DCL – Adatvezérlő nyelv.
Hálózati architektúrák
Delphi programozás alapjai
Adatbázis kezelés. Hierarchikus modell Legrégebbi modell, ma már nem használatos. Az adatokat fákban tároljuk, ahol minden pont a szegmens adatokat, és.
– SQL 2: Adatok kezelése – Tarcsi Ádám, január 30. Adatbázis gyakorlat.
– Adattáblák & adatok kezelése – Tarcsi Ádám január Adatbázis gyakorlat.
A DBMS fő feladatai: - adatstruktúra (adatbázisséma) definiálása,
Konkurenciavezérlés.
INSERT INTO Egy vagy több rekordot ad hozzá a táblához. Egyetlen rekordot hozzáfűző kifejezés: INSERT INTO cél_tábla (mező1,mező2,…) VALUES (érték1, érték2,
Adatbázis alapú rendszerek
Adatbázis rendszerek II.
Készítette: Sárközi Anikó
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
55 kodosszeg FIZETÉS felvitel JUTALOM felvitel 11-es dolgozó kap 200-at 11-es dolgozó kap 50-et SELECT osszeg INTO x FROM d.
Adatbázisok védelme DBMS szinten: Rendelkezésre állás Integritási Hozzáférési DBMS - OS Többszintű Sokszínűség Komplex objektumok Dinamikus.
SQL92 lehetőségek KL A tábla B tábla C view adatok VIEW működése utasítás: SELECT.. FROM A,B … SELECT.. FROM C Az adatok a hivatkozáskor állítódnak elő.
Adatbázis-kezelés, információ-rendszerek
ORACLE ORDBMS adminisztrációs feladatok 2. rész dr. Kovács László 2004.
Tranzakciók gyakorlati anyag
Tranzakciók gyakorlati anyag PPKE-ITK, Database Systems, 2010.
ADATBÁZISOK
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
SQL, adatdefiníció, adatok megváltoztatása, megszorítások
Konkurenciavezérlés. Egyszerre több tranzakció is ugyanazt az adatbázist használja. T1T2…Tn Konzisztens adatbázis Az adatbázisnak konzisztensnek kell.
Adatbázis rendszerek II
WEB Technológiák ISAPI ME Általános Informatikai Tsz. dr. Kovács László.
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.
Az SQL nyelv alapjai.
Anyagadatbank c. tárgy gyakorlat Féléves tematika Adatbázis alapfogalmak, rendszerek Adatmodellek, adatbázis tervezés Adatbázis műveletek.
DML. Új rekord beszúrása: INSERT INTO tábla (oszlop1,oszlop2,…) VALUES (érték1,érték2,…); Rekord módosítása: UPDATE tábla SET oszlop = érték WHERE feltétel;
Tranzakciókezelés.
Adatbázisrendszerek világa
Kaszkád erősítő Munkapont Au Rbe Rki nagyfrekvenciás viselkedés
Lekérdezések Páll Boglárka A lekérdezés az adatbázisban szereplő adatok kinyerésének leghatékonyabb és legsokrétübb módja A lekérdezés tulajdonképpen.
Adatbázis adminisztrátori ismeretek
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!
Felhasználók és jogosultságok
Készítette: Tóth Ervin
Az SQL nyelv. SQL Az SQL utasításait két fő csoportba szokták sorolni: DDL (= Data Definition Language): adatstuktúra definiáló utasítások. DML (= Data.
SQL-Structured Query Language. Parancs(utasítás) csoportok CREATE - táblák létrehozása ALTER – táblák módosítása DROP – táblák törlése DDL –Data Definition.
ORACLE ORDBMS adminisztrációs feladatok 3. rész dr. Kovács László 2004.
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
PL/SQL alapok Adatbázis-kezelés.
5. gyakorlat Fleiner Rita.
- 2. javított áramtükör Elektronika 2 / 5. előadás Ibe I Iki I IB
Webprogramozó tanfolyam
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.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
ADATBÁZIS- RENDSZEREK 12. rész: Konkurenciavezérlés.
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.
A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. Számítógép- hálózatok dr. Herdon Miklós dr. Kovács György Magó Zsolt.
Adatbázis-kezelés 1-2. adatbázis-kezelő rendszer 1.új adatbázisokat hozhassanak (adat definició 2.lekérdezések és módosítások (adat manipuláció) 3.Támogassa.
Adatbázisszintű adatmodellek
Programozás III JPA.
Objektumok a Word-ben. OBJEKTUMOK Objektum fogalma Objektumok létrehozása Az objektumok tulajdonságai Az objektum elhelyezkedése Objektumok formázása.
1 SQL jogosultság-kezelés Privilégiumok Grant és Revoke Grant Diagrammok.
Adatbázis alapú rendszerek
JDBC.
SQL jogosultság-kezelés
Előadás másolata:

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

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

Tranzakció-kezelés feladata A párhuzamosan bejövő igények ütemezése, a sorrend átalakítása a helyes eredmény érdekében A prog. B prog. SELECT ra rb SELECT számla 2 ua +5 ub +3 UPDATE wa wa UPDATE ‘lost update’ jelensége Kívánalmak: A: atomiság C: konzisztencia-őrzés I: izoláció D: tartósság

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 megvalósult igényelt r1(x) w1(x) c1 r1(x) w1(x) c1 r2(x) w2(x) c2 r2(x) w2(x) c2 Transaction Manager

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 tranzakció A tranzakció B objektum A Zárolási paraméterek: - objektum mérete - zárolás időtartama - zárolás jellege - blokkolt művelet

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őriz végrehajt ellenőriz végrehajt végrehajt végrehajt ellenőriz

r1(x) w1(x) c1 r2(x) w2(x) c2 r1(x) w1(x) c1 r2(x) w2(x) c2 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) r1(x) w1(x) c1 r2(x) w2(x) c2 r1(x) w1(x) c1 r2(x) w2(x) c2

KÉP Salvador Dali (1094-1989):

Tranzakció leírása 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 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

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 r(dolgozo) r(uzem) SELECT * FROM DOLGOZO; SELECT * FROM UZEM; UPDATE DOLGOZO SET FIZ=0; COMMIT; w(dolgozo) c SQL parancsok tranzakció gráf

History leírása 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; r1(dolgozo) r2(uzem) w2(dolgozo) w1(uzem) c2 a1 SQL parancsok history gráf

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

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

SR RA ACA ST S 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

Zárolási típusok Objektum finomsága nagyobb adminisztráció kisebb adminisztráció kevesebb konfliktus több konfliktus kis méret nagy méret 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)

Zárolási típusok 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 A helyes zárolás teljes izolációt eredményez, a gyakorlatban sokszor enyhítenek rajta

Kibővített history leírása Két új művelet: - zárolás : ltmód(x) - felengedés: U(x) A zárolt objektumot igénylő tranzakció várakozásra kényszerül l1r(dolgozo) l2r(uzem) r1(dolgozo) r2(uzem) T1: SELECT * FROM DOLGOZO; T2: SELECT * FROM UZEM; T2: UPDATE DOLGOZO SET FIZ=0; T1: DELETE FROM UZEM; T2: COMMIT; T1: ROLLBACK; l2w(dolgozo) l1w(uzem) w2(dolgozo) w1(uzem) u2(dolgozo) u1(uzem) SQL parancsok u2(uzem) u1(dolgozo) c2 a1 history gráf

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

Izolációs szintek 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) A DBMS által biztosított tranzakció függetlenségi fokok NOLOCK 0. szint anarchia, mind a három hiba jelenség felléphet READ UNCOMMITED szint nincs átlapolt írás READ COMMITED 2. szint első szint és nincs piszkos olvasás REPEATABLE READ 3. szint második szint és ismételhető az olvasás SERIALIZABLE

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

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

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