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

ADATBÁZISOK.
© 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 Relációs kalkulus Általános Informatikai Tsz. Dr. Kovács László.
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.
Adatbázis-kezelés.
Recovery (helyreállítás) feladatok gyakorlatra
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.
Hálózati architektúrák
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.
EE/R adatmodell (Extended E/R) 1 Az objektum orientált szemlélet elterjedésével egyre nőtt az igény az olyan SDM (Semantic Data Model) modellek iránt,
Microsoft Access I. Készítette: Rummel Szabolcs
– SQL 2: Adatok kezelése – Tarcsi Ádám, január 30. Adatbázis gyakorlat.
Adatbázis gyakorlat – SUBSELECT – Tarcsi Ádám március.
– 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,
Microsoft Access V. Készítette: Rummel Szabolcs Elérhetőség:
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.
SZÁMÍTÓGÉP ARCHITEKTÚRÁK
SQL 1 SEQUEL, Structured English Query Language: SQL ANSI, ISO: SQL86, SQL89, SQL92. Alap (entry), közbenső (intermediate), teljes (full) szint. A DDL.
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 rendszerek I
Adatbázis rendszerek II
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.
A virtuális technológia alapjai Dr. Horváth László Budapesti Műszaki Főiskola Neumann János Informatikai Kar, Alkalmazott.
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
Konkurenciavezérlés. Egyszerre több tranzakció is ugyanazt az adatbázist használja. T1T2…Tn Konzisztens adatbázis Az adatbázisnak konzisztensnek kell.
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.
1 Informatikai Szakképzési Portál Adatbázis kezelés DML – Adat manipuláló nyelv.
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
Adatkezelés Ez az előadó neve beosztása vállalata.
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
Felhasználók és jogosultságok
Készítette: Tóth Ervin
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.
Jel és adatvezetékek védelme, árnyékolások, tömítések.
Adatbázis kezelés. Az adatbázis tágabb értelemben egy olyan adathalmaz, amelynek elemei – egy meghatározott tulajdonságuk alapján – összetartozónak tekinthetők.
Adatbázis kezelés.
Adatbázis-kezelés.
Adatbázis rendszerek I Relációs adatmodell strukturális része Általános Informatikai Tsz. Dr. Kovács László.
Termelő-fogysztó modell. A probléma absztrakt megfogalmazása: informális leírás. Adott egy N elemű közösen használt tároló, N  1. Adott a folyamatoknak.
ORACLE ORDBMS adminisztrációs feladatok 3. rész dr. Kovács László 2004.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
Adatbázis-kezelés.
5. gyakorlat Fleiner Rita.
Adatbázis-kezelés. Alapfogalmak Adat: –észlelhető, felfogható ismeret –jelsorozat –valakinek, vagy valaminek a jellemz ő je –tény, közlés Információ:
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.
 Adatbázis:  Valamilyen szempont szerint rendszerezett adathalmaz.  Adatbázis kezelés:  Adatok tárolása  Műveletek végzése az adatbázison; (Adatok.
Kommunikáció és szinkronizáció. 1.) Kommunikáció: Lehetőség arra, hogy egyik folyamat befolyásolja a másik folyamat lefutását. Kommunikáció eszközei: közös.
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ázisszintű adatmodellek
1 SQL jogosultság-kezelés Privilégiumok Grant és Revoke Grant Diagrammok.
Logisztikai projekt - gyakorlat Adatbázis-elmélet
Előadás másolata:

Adatbázis rendszerek II Tranzakció kezelés Általános Informatikai Tsz. Dr. Kovács László

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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