|
|
- Donát Szőke
- 8 évvel ezelőtt
- Látták:
Átírás
1 Adatbázis rendszerek II. VII-VIII. előadás Előadó: Barabás Péter Dátum: /
2 Osztott erőforrások OS DB 2
3 Párhuzamosság hasznos és kényelmes a felhasználó oldaláról kihívás problémák a konkurens végrehajtásnál konfliktus helyzetek (azonos erősforrás igény) megoldások: várakoztatás várakozó sorok (nyomtató) adatbázis-kezelésben egyedi vonások 3
4 ACID elvek Atomicity Consistency Isolation Durability 4
5 Atomiság műveletek nem izoláltak, egyediek, hanem kapcsolat van közöttük a felhasználó rendszerint műveletsort akar végrehajtani, nem egyedi műveletet külön-külön nincs értelmük, illetve hibához, ellentmondáshoz vezethetnek pl. készpénzfelvétel automatából pinkód beírás ellenőrzés művelet megadás készpénz beállítás hitelkeret ellenőrzés készpénz levétele a számláról pénz kiadása kártya kiadása bizonylat kiadása a DBMS-nek képesnek kell lennie műveletek visszagörgetésre félig elvégzett műveletsor nem maradhat a rsz-ben 5
6 Konzisztencia minden felhasználó számára konzisztens kell legyen konzisztens állapotból konzisztens állapotba vigyen integritás őrzés pl. törléskor archiválás kiváltó esemény választevékenység trigger archív táblába beszúrás gond: nem hajtódik végre a választevékenység a rekord kitörlődik, de nem archiválódik nem megengedhető integritás sértő műveletek megakadályozása pl. életkor mezőbe 3012 kerül 6
7 Izoláció a felhasználó a párhuzamosság káros mellékhatásaiból minél kevesebbet érezzen legjobb, ha a felhasználó úgy érzi, hogy egyedül dolgozik a rendszerben munkájának eredménye csak a kiinduló állapottól függ, nem az egyéb tevékenységektől 7
8 Tartósság műveletsor sikeres végrehajtása esetén a felhasználó visszajelzést kap biztos lehet abban, hogy a műveletsor hatása véglegesen beíródott az adatbázisba későbbi művelet nem törölheti vissza lezárt tranzakciók eredményeit az adatbázis-kezelő mindenáron őrizze meg gondoskodjon a véglegesített adatok elvesztése elleni védelemről 8
9 Tranzakciókezelés az adatbázis-kezelés központi fogalma minden művelet tranzakcióba szervezetten hajtódik végre a DBMS nem enged tranzakción kívüli művelet végrehajtást login DML logout commit abort begin transaction INSERT... DELETE... UPDATE... end transaction 9
10 Tranzakció fogalma Tranzakció: egy logikailag összetartozó, egységként kezelt műveletsor, melyre teljesülnek az ACID elvekben megfogalmazott követelmények 10
11 Tranzakciók leírása műveletsort kell megadni elemei: műveletek: olvasás: r, írás: w objektum, amelyre hatnak paraméterként: r(x), w(x) tranzakció lezárása véglegesítés (commit): c visszagörgetés (abort): a sorrendiség: megelőzési reláció: p 1 p 2 11
12 Tranzakciók ábrázolása ábrázolás gráffal: csomópontok a műveletek, irányított élei a megelőzési relációk nem minden gráf létező tranzakciót jelent kötöttségek érvényes tranzakció esetén: tartalmaznia kell egy lezárási műveletet (c,a) pontosan csak az egyiküket tartalmazhatja a lezárási művelet az utolsó, az összes többi megelőzi egyértelmű végrehajthatósági feltétel: a műveletsor eredménye azonos kezdőfeltételek mellet mindig egyezzen meg a leírt tranzakció eredményével 12
13 Tranzakciók ábrázolása II. r(x) w(x) w (x) c w(x) 3 w (x) 6 w(x) w (x) w (x) w(x) bármely két művelet között létezzen megelőzési reláció: egyértelmű, de nem szükséges minden esetben általában csak a tranzakció eredménye a fontos a közbenső állapotok érdektelenek több út is adhatja ugyanazt az eredményt ekkor a rendszer bármelyiket választhatja 13
14 Tranzakciók ábrázolása III. r(x) w(x) c r(x)? r(y) r(y) w(y) w(x)? w(y) Kérdés: mely elemek közötti relációk (nem) hagyhatók el? eredmény ugyanaz Válasz: amelyek sorrendje fontos a végeredmény szempontjából konfliktusban álló műveletpárok 14
15 Konfliktusban álló műveletek sorrendiség kihat az eredményre konfliktus esetén azonos objektumnak kell szerepelnie mindkét műveletben különböző objektumokhoz való hozzáférés nincs hatással egymásra legalább az egyik írási művelet az olvasások nem módosítják az adatbázist, bármikor felcserélhetőek írási műveletek időbeli pozíciója lényeges gráf esetén egyértelmű a végrehajtás eredménye: a gráfban bármely két konfliktusban álló műveletpár között létezik megelőzési reláció ezt a tranzakció megadásánál meg is követeljük 15
16 Tranzakció formális leírása T = (T e, ) T e = { r(x), w(x ), a, c x,x DB } T e T e ahol DB az adatbázisbeli objektumok halmaza T tranzakcióra teljesülnek: - a T e c T e - p T e p a, ha a T e és p c, ha c T e - p 1,p 2 T e, p 1 és p 2 konfliktusban áll p 1 p 2 vagy p 2 p 1 16
17 Tranzakciók ekvivalenciája ugyanazon elemeket tartalmazza a konfliktusban álló műveletek között ugyanolyan a megelőzési sorrend ugyanazon kiinduló állapotból, ugyanazon műveletek az eredmény szempontjából ekvivalens sorrendben hajtódnak végre 17
18 History fogalma a rendszerben futó tranzakciók összessége megadása hasonló a tranzakció megadásához műveletekből áll lényeges a végrehajtási sorrend ábrázolása: gráffal a tranzakció azonosítóját is feltüntetjük, mint művelet indexet 18
19 History példa r 1 (x) w 1 (x) c 1 r 2 (x) w 2 (x) a 2 19
20 History formális leírása H = (H e, ) H e a history-hoz tartozó műveletek, a megelőzési reláció, azaz H e = T e T és teljesül az alábbi feltétel p 1,p 2 H, p 1 és p 2 konfliktusban áll p 1 p 2 vagy p 2 p 1 20
21 Hibás history gráf r 1 (x) w 1 (x) c 1 r 2 (x) w 2 (x) w 2 (y) c 2 r 3 (y) w 3 (x) w 3 (y) c 3 Kérdés: mi a hiba? 21
22 History-k ekvivalenciája azonos feltételekből kiindulva azonos eredményt szolgáltatnak a konfliktusban álló műveletpárok sorrendje lényeges csak az elfogadott tranzakciók hatása marad meg ekvivalensek a history-k, ha azonos tranzakciókat tartalmaz minden nem abortált tranzakcióhoz tartozó, konfliktusban álló műveletek között ugyanolyan irányú megelőzési reláció áll fenn 22
23 History típusok követelmények: ACID elvek nem mindegyik teljesíti az elveket w 1 (x) r 1 (y) w 1 (y) a 1 r 2 (x) w 2 (x) c 2 Mi okozza problémát? létezik lezárásuk a lezárás az utolsó művelet minden konfliktus esetén létezik megelőzési reláció 23
24 Megoldás w 1 (x) r 1 (y) w 1 (y) a 1 r 2 (x) w 2 (x) c 2 T1 kiír egy értéket x-be T2 olvassa ezt, majd ez alapján új értéket ír x-be T2 véglegesíti az eredményt a T1 tovább fut, olvassa y-t, majd módosítja T1 abortálódik w 1 (x) utasítás-t hogyan görgetjük vissza? T2 nem véglegesített adatokat használt fel, ezért T2 tranzakciót is vissza kell görgetni tartósság elvét kellene felrúgni konzisztencia vs. ACID-elvek 24
25 RecoverAble history Egy history visszagörgethető, ha minden tranzakció később zárul le minden olyan tranzakciónál, amiből ő olvasott w 1 (x) r 1 (y) w 1 (y) a 1 r 2 (x) w 2 (x) c 2 25
26 RA history II. teljesül az RA history, mégis hibás az alábbi history w 1 (x) r 1 (y) w 1 (y) a 1 r 2 (x) w 2 (x) r 3 (x) w 3 (x) abortálási lavina! T2 olyan adatot olvasott, melyek helyessége még nem dőlt el r 4 (x) 26
27 Avoiding Cascadeless Abort history Az abortálási lavinát elkerülő history-ban minden tranzakció csak már lezárt tranzakcióból olvas. T2 csak olyan adatokat olvashat, melyek helyessége már biztosított, vagyis csak a T1 által véglegesített adatokat szabad felhasználni w 1 (x) r 1 (y) w 1 (y) a 1 r 2 (x) w 2 (x) r 3 (x) w 3 (x) 27
28 ACA history II. mind az RA, mind az ACA kritériumai teljesülnek, mégis akad probléma r 1 (x) w 1 (x) w 1 (z) a 1 r 2 (z) w 2 (x) a 2 probléma: előbb T1, majd T2 módosítja x-et, végén abortálódik mindkettő vissza kell állítani a módosítások előtti értékeket előbb a w 1 (x) előtti értéket, majd w 2 (x) előttit induló érték visszaírásához ki kell előbb olvasni (implicite) írás előtt 28
29 STrict 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 T2 tranzakció csak olyan adatokat olvashat vagy írhat, melyet egy lezárt tranzakció módosított utoljára r 1 (x) w 1 (x) w 1 (z) a 1 r 2 (z) w 2 (x) a 2 29
30 Újabb probléma r 1 (x) w 1 (x) c 1 w 3 (x) c 3 r 2 (x) w 2 (x) c 2 T1: normál fizetés tranzakció T2: rendkívüli jutalmak tranzakció r 2 (x) r 1 (x) w 1 (x) w 2 (x) lost update T1 beli olvasás megelőzi T2 beli írást, T1 beli írás követi T2 beli olvasást 30
31 SeRializable 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 műveletek a tranzakciók szerinti sorrendben hajtódnak végre r 1 (x) w 1 (x) a 1 r 2 (x) w 2 (x) c 2 31
32 Serial vagy soros 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. r 1 (x) w 1 (x) c 1 w 2 (x) c 2 r 3 (x) 32
33 History-k kapcsolata SR RA ACA ST S Cél: ST SR history 33
34 Következmények kevés a megfelelő history lecsökkentik a párhuzamosságot, a konkurencia megvalósulási lehetőségeit teljesítmény korlátozás ACID elvek nagyobb konkurencia hatékonyabb rendszer 34
35 Izolációs problémák konfliktusban álló műveletek keverése két írás egymás után lost update w 1 (x) olvasás két írás között dirty read írás két olvasás között not repeatable read w 2 (x) w 1 (x) r 2 (x) w 2 (x) r 1 (x) w 2 (x) r 1 (x) 35
36 Izolációs szintek 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 36
37 SQL utasítások SET TRANSACTION ISOLATION LEVEL szint; NOLOCK nem foglalja le a tranzakció által érintett objektumokat 0. szint READ UNCOMMITED piszkos, véglegesítés előtti adatokat is olvashatnak átlapolt írás nem megengedett = 1. szint READ COMMITED csak véglegesített, tiszta adatok olvashatók 2. szint REPEATABLE READ teljesül az ismételhető olvasás 3. szint két olvasás között bővülhet a tábla SERIALIZABLE a teljesen soros végrehajtást kérvényezi nincs elméleti izolációs szint (3. szint) minden nemű módosítás tiltott 37
38 Zárolási módszerek a tranzakció használat idejére lefoglalja az objektumot a többi tranzakció korlátozva van az objektum elérésében várakozás várakozás feloldás: elérhető már az objektum kiderül, hogy nem érdemes várni nyilván kell tartani objektumonként kiegészítő információkat: szabad-e, ki foglalja (felszabadításnál tudni kell) helytöbblettel jár a zárolás 38
39 Zárolási szintek Mező szintű zárolás Rekord szintű zárolás Tábla szintű zárolás 39
40 Előnyök és hátrányok Előny Hátrány Mező szintű zárolás nagyobb fokú párhuzamosság jelentősebb konkurencia sokkal több kiegészítő információt kell tárolni és karbantartani jelentős hely, idő költségnövekedés Tábla szintű zárolás sokkal egyszerűbb nyilvántartani gyorsabban adminisztrálható nagyon lecsökkenti a konkurenciát nagyon sokáig kell várakozni a párhuzamosan futó tranzakcióknak egymásra 40
41 Zárolási költségfüggvények a tranzakciók közötti konkurencia mértéke a párhuzamos hozzáférések valószínűségétől függ rekord szintű zárolások közelében minimális d u rv a fin o m d u rv a fin o m H o s s z ú tra n z a k c ió k R ö v id tra n z a k c ió k 41
42 Zárolási idő Alapelv: csak addig zároljunk egy objektumot, ameddig szükséges lefoglalás: amikor szükség van rá felengedés: adatok véglegesítése után, tranzakció végén hiba: a művelet után azonnal felengednénk T2 olvas T1 által írt, nem véglegesített objektumot RA, ACA feltétel sérülne 42
43 Kétfázisú zárolás (2PL) 1. fázis: zárolások lefoglalása 2. fázis: zárolások felengedése a tranzakció végén 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 legtöbb RDBMS-ben 2PL zárolás biztosítja az ACID-elveknek megfelelő history-k megvalósítását 43
44 Mely műveletnél zároljunk? ST és SR szabályok: a konkurens műveleteknek sorosan kell végrehajtódniuk, beleértve a tranzakciók lezárási utasításait írási műveletkor szükséges a zárolás RA követelmény sérülne w 1 (x) r 1 (x) l w (x) w 1 (x) olvasáskor is szükséges lehet az olvasás lost update jelenség r 1 (x) r 2 (x) w 1 (x) w 2 (x) gyakorlatban kissé módosul a zárolás l r (x) r 1 (x) 44
45 Zárolás típusok normál zárolás: zárolás alatt más tranzakció nem olvashatja és/vagy írhatja a foglalt elemet írási és olvasási zárolás: írási zárolás: más tranzakció se nem olvashatja, se nem írhatja az objektum értékét olvasási zárolás: csak a másik tranzakció általi értékmódosítást akadályozza meg 45
46 Példa normál és kétfajta zárolásra r 1 (x) w 1 (x) c 1 w 3 (x) Normál zárolás esetén: c 3 r 2 (x) w 2 (x) c 2 T2 lefoglalja x-et, az r1(x) már nem tud végrehajtódni r1(x) várja T2 befejeződését T2 írja x-et, majd véglegesítődik ekkor folytatódhat T1 futása írja x-et, amely a megnövelt érték elkerülhető a lost update jelenség 46
47 Példa normál és kétfajta zárolásra II. r 1 (x) w 1 (x) c 1 w 3 (x) c 3 r 2 (x) w 2 (x) c 2 Írási és olvasási zárolás esetén: T2 zárolja x-et olvasásra, az r1(x) olvashatja T1 zárolja x-et olvasásra w1(x) írásra zárolja az elemet T1 véglegesítődik, majd az írási zárolás megszűnik ekkor folytatódik T2 futása zárolja az elemet írja az r2(x) által kiolvasott értéket felhasználva a lost update jelenség még mindig fennáll 47
48 Helyesen formált zárolás minden művelet előtt van egy zárolás minden zárolást követi annak művelet utáni felengedése l 1 (x) w 1 (x) u 1 (x) 48
49 Helyes zárolás 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 Megjegyzés: gyakorlatban enyhítenek a szigoron a párhuzamosság miatt 49
50 Zárolások felminősítése a zárolás szintjének, szigorúságának megnövelése lr 1 (x) r 1 (x) u 1 (x) lw 1 (x) w 1 (x) nem 2PL más tranzakció megszerezheti az objektumot T1 előtt a T csak egyszer zárolhat, és ha írni is akar, akkor írásra kell zárolni lw 1 (x) r 1 (x) w 1 (x) u 1 (x) u 1 (x) 50
51 Zárolások felminősítése II. Probléma: nem biztos, hogy a tranzakció tudja előre, hogy írni is fog nagyon lecsökkenti a párhuzamosság lehetőségét, mivel túl hamar lefogja kizárólagos használatra az x objektumot Megoldás: a zárolást felengedés nélkül egy magasabb szintre kell vinni lr 1 (x) r 1 (x) lw 1 (x) w 1 (x) u 1 (x) 51
52 Zárolások gyenge pontja a zárolások biztos megoldást nyújtanak a helyes history megvalósításra gyenge pont: tranzakciók várakozásra kényszerítése többen várakoznak körbevárakozás alakulhat ki végtelen várakozás lr 2 (x) r 2 (x) lr 1 (x) r 1 (x)? w 1 (x) w 1 (x) DEADLOCK várakozás várakozás 52
53 Deadlock kezelése X lefoglalás igénylés T1 Y T2 W Z egyik tranzakció sem tud továbblépni, mindkettő a végtelenségig várakozna Feloldási módszerek: Timeout módszer WFG gráf 53
54 Timeout mechanizmus a rendszer figyeli, mennyi ideig várakozott a tranzakció a zárolás feloldására ha a várakozási idő túllép egy megadott időhatárt, akkor a TM deadlock jelenségként értékeli, melyet fel kell oldani egyik megoldás: valamelyik tranzakció abortálása abortálandó tranzakció kiválasztására számos stratégia létezhet ~ OS memóriakezelés kérdés: mit preferálunk? eltöltött idő elvégzett módosítások még hátralévő idő 54
55 Wait-For Graph a gráf elemei a futó tranzakciók a gráf élei irányítottak T1-ből mutut él T2-be, ha van olyan objektum, amit T2 lefoglalt és T1 is szeretne elérni, s T1 ezen objektum felszabadulására vár deadlock jelentése a várakozások szintjén: nincs vége a várakozási láncnak, azaz nincs esély, hogy a várakozási lánc valamikor is megszűnjön WFG gráfban: akkor van deadlock, ha a létezik körút amennyiben a gráf körútmentes, úgy a history végrehajtása során nem lépett fel deadlock 55
56 WFG II. Körútmentes: T1 T2 T3 Deadlock: T1 T2 T3 56
57 Felminősítésből adódó deadlock lr 1 (x) r 1 (x) lw 1 (x) w 1 (x) u 1 (x) lr 2 (x) r 2 (x) lw 2 (x) w 2 (x) olvasási zárolások futhatnak párhuzamosan két írási zárolás nem élhet egyidejűleg lw 1 (x)-nélt1 kénytelen várakozni T2 olvasásra fogta T1 lw 2 (x)-nélt2 kénytelen várakozni T1 olvasásra fogta T2 deadlock alakult ki u 2 (x) 57
58 Módosítási zárolás (update lock) a fenti blokkolás elkerülése végett módosítási zárolás arra utal, hogy az adatot a tranzakció később módosítani szeretné egyidejűleg csak egy tranzakció módosíthat nem szabad megengedni, hogy más tranzakció is jelezze ez irányú szándékát felminősítést viszont már csak módosítási zárolásból lehet engedélyezni, hogy ne legyen váratlan írási igény lu 1 (x) r 1 (x) lw 1 (x) w 1 (x) u 1 (x) lu 2 (x) r 2 (x) lw 2 (x) w 2 (x) u 2 (x) 58
59 Kompatibilitási mátrix l r l u l w l r Igen Igen Nem l u Nem Nem Nem l w Nem Nem Nem 59
60 SGT (Serialization Graph Testing) módszer a history SR tulajdonságának ellenőrzésére szolgál a konfliktusban álló műveletekre vonatkozóan teljesül-e a soros végrehajtás az SR végrehajtás esetén bármely két tranzakció között csak egyféle megelőzési reláció érvényesül az SG-gráf a history-hoz rendelhető, és a history SR voltának eldöntésére szolgál 60
61 SG gráf Az SG gráf, egy olyan gráfot jelöl, melynek elemei a history-ban futó, commit-tal véglegesített tranzakciók, é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. 61
62 SG gráf II. két csomópont között két él is létezhet ellentétes irányításúak (T1 T2, T2 T1) a gráfban nem vesznek részt az abortált tranzakciók SR history esetén a history linearizálható kapcsolatban álló tranzakciókból épül fel nem keverednek a különböző tranzakciókhoz tartozó műveletek (a konfliktusban álló műveletek esetén) 62
63 SG gráf III. A history akkor és csak akkor SR tulajdonságú, ha a hozzá tartozó SG gráf körútmentes. körút esetén a tranzakciók nem alkotnak lineáris láncot r 1 (x) w 1 (y) w 1 (y) c 1 r 2 (z) w 2 (z) r 2 (y) w 1 (z) c 2 r 3 (x) w 3 (x) c 3 r 4 (z) w 4 (y) a 4 T3 T1 T2 63
64 Módosított SG gráf régebbi, érdektelen tranzakciók kikerülnek a gráfból helytakarékossági okok élek kialakításához ismerni kell a tranzakció által elvégzett műveleteket minden tranzakciónál nyílván kell tartani, mely objektumot írta, ill. olvasta a felhasznált SG gráf tartalmaz még le nem zárt, még futó tranzakciókat is ciklikusság időbeni felfedezése kevesebb idő és erőforrás pazarlás történik egy tranzakció korábban történő abortálása révén 64
65 SGT mechanizmus 1. új beérkező művelet esetén a TM ellenőrzi, hogy benn vane már a tranzakció az SG gráfban, vagy egy új tranzakcióról van szó 2. új tranzakció esetén bekerül a gráfba, mint új csomópont 3. ellenőrzésre kerül, hogy a művelet mely más korábban kiadott műveletekkel van konfliktusban 4. minden érintett csomóponthoz él kerül az aktuális csomópontból kiindulva 5. az új SG gráf tesztelése, hogy tartalmaz-e körutat 6. ha igen, akkor az új művelet nem érvényesíthető, a tranzakcióját is vissza kell görgetni 7. abortálódik a tranzakció és a gráfból is kikerül a hozzá tartozó élekkel 8. ha nincs körút, akkor a művelet elvégezhető a korábbi műveletek sikeres nyugtázása után 65
66 SGT csomópont törlése csak akkor, ha a jövőben nem válhat körút láncszemévé egy csomópontba bármikor mutathat új él későbbi műveletek konfliktusban állhatnak a korábbiakkal körútban való részvétel kizárása: a csomópontból nem indul és nem is indulhat ki új él tranzakció lezárása után ilyen művelet már nem jöhet létre ha a tranzakció lezárásakor nem indul ki él, akkor a jövőben sem fog Egy csomópont akkor törölhető az éleivel együtt: ha már lezáródott nem indul ki belőle él Csomópont törlése több csomópont is törölhető 66
67 Timestamp Ordering (TO) minden tranzakcióhoz rendel egy időbélyeget, mely jelzi hogy mikor jött létre a tranzakció a többihez viszonyítva időbélyeg egy sorszám korábbi tranzakciók időbélyege kisebb későbbi tranzakcióké nagyobb A különböző tranzakciókhoz tartozó, egymással konfliktusban álló műveletek esetén a műveletek végrehajtási sorrendje feleljen meg a tranzakciók időbélyeg sorrendjének. Vagyis azon műveleteknek kell előbb végrehajtódniuk, amelyek időbélyege kisebb. 67
68 TO II. amennyiben egy tranzakció olyan objektumot akar módosítani vagy olvasni, melyet egy fiatalabb tranzakció egyszer már módosított a műveletet a TM megakadályozza abortálja az idősebb tranzakciót abortálás után újraindítja a tranzakciót nagyobb időbélyeggel újra próbálkozhat 68
69 Zárolás vs. TO Zárolás lefoglalás felengedése után bármely tranzakció hozzáférhet az objektumhoz sokat várakoztat, deadlock léphet fel TO nincs foglalási idő, az objektum bármikor elérhető csak az utolsó foglalást végző tranzakciónál fiatalabb tranzakciók férhetnek hozzá egy objektumhoz túlságosan könnyen kerülhet abortálásra egy tranzakció nincs benne várakoztatás súlyos hibák 69
70 TO követelmények csak az utolsó hozzáférést végző tranzakció időbélyegét figyeli, nem a feldolgozottságot egy objektumon egyidejűleg csak egy művelet végezhető szükséges rendszerkomponens: egy művelet ne kezdődjön el addig, amíg a korábban engedélyezett kisebb sorszámú műveletek be nem fejeződnek műveletek késleltetése 70
71 TO problámák w 1 (x) r 1 (y) w 1 (y) a 1 r 2 (x) w 2 (x) c 2 az x objektumot előbb T1 azután T2 kezeli az y objektumhoz csak T1 fér hozzá mindkét tranzakció lefuthat probléma T1 abortálása miatt r 2 (x) hamis értéket kap nem teljesül az RA history módosítani kell az alap TO-n minden tranzakció csak már véglegesített adatokhoz férjen hozzá késleltetés 71
72 ST-TO TO módszer olyan TO módszer, amely biztosítja a TO history-t egy műveletet addig kell késleltetni, amíg az objektumot utoljára módosító kisebb sorszámú tranzakció le nem záródik egyfajta zárolást kell alkalmazni 72
73 TO ütemezés működése alapelem: tudjuk, mely tranzakció használta az egyes objektumokat utoljára minden objektumhoz kell egy jelzőt társítani az objektumot utoljára kezelő tranzakció időbélyege ezen jelző és az új igénnyel fellépő tranzakció időbélyegének összehasonlítása alapján dől el az objektumhoz való hozzáférés engedélyezése, vagy abortálása egy olvasási művelet csak egy írásival áll konfliktusban külön nyílván kell tartani mind az olvasásra, mind az írásra, mely időbélyegű tranzakció volt az utolsó engedélyezett művelet igénylője egy objektumhoz olvasási és írási jelzőt is csatolni kell 73
74 Abortálások csökkentése a tranzakciók konkurenciájának csökkentésével oldható meg egyik javaslat: teljesen soros végrehajtás a TM létrehoz egy várakozósort a végrehajtásra jelentkező műveletek számára a várakozólistában minden futó tranzakciónak legyen pozíciója, bejegyzése a bejegyzett műveletek közül a legkisebb sorszámút veszi sorra biztosítható az S history egy T tranzakció első művelete csak akkor kerülhet végrehajtásra, ha a rendszerben nem létezik tőle kisebb időbélyeggel rendelkező és még futó tranzakció ha viszont a tranzakció megkapta a vezérlést, akkor nem engedi el, míg ő maga be nem fejeződik, hiszen menet közben nem jöhet tőle kisebb sorszámú tranzakció 74
75 Optimista TO a TM megpróbálja kiküszöbölni a menetközbeni várakozásokat és a később feleslegesnek bizonyuló abortálásokat a műveleteket hagyjuk addig futni, amíg van esély a tranzakció megmaradására menetközben feltesszük, hogy a tranzakció sikeresen le fog futni ehhez módosítanunk kell az alap TO ütemezésen 75
76 Optimista TO II. objektum írási, olvasási TS jelző a jelzők a maximális értékű TS-t tartalmazzák a tranzakciók nem közvetlenül a DB-t módosítják kapcsolódik hozzájuk egy egyedi munkaterület az így letárolt módosítások egyszerre, a tr. végén kerülnek át az adatbázisba így a DB csak lezárt tranzakciók által módosított adatokat tartalmaz olvasás esetén: ha a tr. még nem módosította az objektumot, akkor az adatbázisból kell venni az értékét időbélyeg ellenőrzés, módosítás ha a TS(T r )<TS(X w ) TO elvek megsérülnek abortálás ha a TS(T r )>TS(X w ), elvégezhető a művelet 76
77 Optimista TO III. commit esetén: TM megpróbálja véglegesíteni a műveleteket sorba veszi a módosított objektumokat a saját munkaterületéről mindegyikre ellenőrzi, hogy a véglegesítés során nem sérül-e a TO-elv a DB-ben nagyobb írási v. olvasási jelző szerepel ekkor abortálni kell a tranzakciót sikeres ellenőrzés esetén a DB-beli objektumok is átíródnak az új értékekre az írási időbélyegek is aktualizálódnak biztosítható az RA, ACA, ST history 77
78 Lost update optimista TO-val r 1 (x) w 1 (x) c 1 c 0 r 2 (x) w 2 (x) c 2 r 2 (x) beállítja x olvasás jelzőjét 2-re r 1 (x) engedélyezett, de nem módosítja az olvasásjelzőt w 1 (x) elvégzi a módosítást a saját munkaterületén c 1 hatására megpróbálja véglegesíteni az adatokat x olvasásjelzőjében 2 szerepel az 1-es időbélyegű tranzakció akar módosítani abortálni kell az 1-es tranzakciót, majd újraindítani w 2 (x) is elvégzi a módosítást a saját munkaterületén c 2 hatására megpróbálja véglegesíteni az adatokat az olvasási jelző 2, az írási ennél is kisebb, engedélyezi a módosításokat az írási jelző is felveszi a 2-es értéket 78
79 Oracle tranzakció-kezelésekezelése alapvetően zároláson alapszik, de megtalálhatóak benne bizonyos TO elemek is csak írási zárolás létezik legnagyobb konkurencia biztosítása végett olvasási művelet sohasem gátol más műveletet olvasást bármikor végre lehet hajtani soha nem várakozik más műveletre más műveletek sem várakoznak miatta az adatbázisban konzisztens adatok vannak csak a lezárt tranzakciók eredményeit tárolja olvasási műveletek mindig konzisztens képet adnak a módosítási utasítások egy közös munkaterületen kerülnek bejegyzésre, véglegesítéskor kerülnek bele a konzisztens adatbázisba 79
80 Oracle tranzakció-kezelése kezelése II. a közös munkaterületen minden objektum csak egy példányban foglal helyet egyidejűleg csak egy tranzakció módosíthat egy objektumot ST elvek betartása: addig nem enged egy objektumot módosítani, amíg az őt utoljára módosító tranzakció le nem záródik a TM a közös munkaterületen zárolja az objektumokat 80
81 Oracle zárolás 2PL zárolás nincs olvasási zárolás konkurencia megnövekedése kisebb mértékű biztonság lost update jelenség fenáll hosszú tranzakciónál nagy valószínűséggel megváltozik a konzisztens adatbázis képe más tranzakciók sikeresen lezáródtak hatásai láthatóvá váltak a többiek számára bizonyos esetekben előnyös lenne a tranzakción belüli állandó tartalom olvasása tranzakció szintű olvasási-konzisztencia külön igényelni kell létezik művelet szintű olvasási-konzisztencia (alapért.) 81
82 Oracle zárolás II. SET TRANSACTION READ ONLY új tranzakció kezdődik tranzakció szintű olvasási-konzisztencia csak olvasási műveleteket enged nagyobb erőforrás ráfordítás SCN mechanizmus 82
83 SCN mechanizmus olvasási konzisztenciát igénylő végrehajtási egységhez feljegyzésre kerül mikor indult el a konzisztens képbe kerülő elemek, mikor kerületek a konzisztens DB-be ezen időpontjelző az SCN (system change number) időbélyeg jellegű szerepe van egy hosszabb tranzakció alatt több lezárt tranzakció is módosíthatta az érintett blokkot a blokknak több különböző SCN azonosítású példányt is nyílván kell tartani lekérdezés során: az indulási SCN értéknek megfelelő SCN adatblokkokat fogja felhasználni 83
84 SAVEPOINT sikertelenség esetén a tranzakciókat vissza kell görgetni az utolsó konzisztens állapotig hosszú tranzakciók nagy veszteség tranzakción belül definiálhatunk több savepoint-ot is: SAVEPOINT azonosító a tranzakció a savepoint-ig is visszagörgethető ROLLBACK TO SAVEPOINT azonosító 84
85 Megjegyzések a zárolásokhoz DDL utasításoknál is figyelembe kell venni szerkezetmódosítás v. törlés csak teljesen szabad táblánál lehetséges a DDL utasítás csak a művelet idejére zárol Példa: több különböző ugyanazt a táblát bővíti PRIMARY KEY szerepel a táblában azonos kulcs felvitele esetén az első megteheti a felvitelt a második várakozik az első sikerességére azután kap hibajelzést, miután az első befejeződött 85
86 Recovery mechanizmus az adatok konzisztens állapotba való visszaállítása tekintettel kell lenni a korábban elvégzett és lezárt műveletekre az éppen futó tranzakciókra RM szükségessége: tranzakció abortálásakor visszagörgetés váratlan hibaesemény esetén újra felépítés rendszer összeomlás (közös munkaterület elvész) commit-tal lezárt adatmódosítások is elveszhetnek fizikai meghibásodás esetén helyreállítás 86
87 Oracle recovery SGA DATA ROLLBACK REDO RS DS COMMIT Adatbázis állomány REDOLOG napló állomány 87
88 Oracle recovery II. UPDATE auto SET ar=1435 WHERE rsz= RST345 ; COMMIT; Lépések: 1. a rendszer megnézi, hogy a módosítandó objektum benne van-e a memóriában, ha nincs, akkor be kell hozni a megfelelő adatlapot 2. ha benne van, akkor átírható a korábbi értéke az új értékre 3. a módosítás elvégzése előtt az objektum korábbi értéke a ROLLBACK területre mentődik 4. sor kerül a módosításra a memóriában 5. az elvégzett tevékenységeket a rendszer naplózza a REDOLOG területen 6. naplózás után COMMIT, véglegesítődik a tranzakció hatása 1. a ROLLBACK szegmensbeli bejegyzések törlődnek 2. a REDOLOG területre bekerül a COMMIT végrehajtása is 7. a naplóállományba kimentődik a REDOLOG tartalma 8. az adatérték ezután íródik ki aszinkron módon 88
89 Helyreállítás abortálás esetén tranzakció abortálása esetén: a ROLLBACK szegmens aktuális tranzakcióhoz tartozó bejegyzéseinek végigolvasása az ott letárolt értékeket kell beírni az adatterület megfelelő objektumába ezután a ROLLBACK és a REDOLOG megfelelő bejegyzései törlődnek 89
90 Helyreállítás rendszerösszeomlás esetén bonyolultabb a helyzet a REDOLOG-ban nemcsak lezárt tranzakcióra vonatkozó bejegyzések vannak később eldönthető melyek záródtak le tartalmaznak COMMIT bejegyzést is visszamentésnél gondolni kell a le nem zárult tranzakciók bejegyzéseire is 90
91 Helyreállítás rendszerösszeomlás esetén II SGA DATA ROLLBACK REDO 7b RS DS a. COMMIT Adatbázis állomány REDOLOG napló állomány 91
92 Helyreállítás rendszerösszeomlás esetén III. Lépések: 1. az Oracle sorba veszi azon műveleteket a REDOLOG-ból, melyek hatása még nem került át az adatbázis állományba 1. a naplóállományban minden pontosan le van tárolva, így visszajátszhatóak 2. ha a napló COMMIT-ot is tartalmaz, akkor a tranzakció újra véglegesítődik 3. ha nincs COMMIT, akkor egy ROLLBACK utasítással visszagörgetődik az újrajátszott műveletsor 92
93 Helyreállítás sérülés esetén a REDOLOG segítségével újrajátszhatóak a tranzakciók nem lehet tetszőlegesen hosszú időre visszamenni a naplóállományban (kapacitása véges) az adatbázis tartalmat is rendszeresen menteni kell ha nincs meg a kívánt rendszerállapot, a helyreállítás nem oldható meg 93
B I T M A N B I v: T M A N
Adatbázis Rendszerek II. 6. Ea: Tranzakciók B I v: T 2014.02.15 M A N 1/39 Párhuzamosság Hasznos és kényelmes a felhasználó oldaláról Kihívás problémák a konkurens végrehajtásnál konfliktus helyzetek (azonos
RészletesebbenAdatbázis Rendszerek II. 10. Tranzakció kezelés 72/1B IT MAN
Adatbázis Rendszerek II. 10. Tranzakció kezelés 72/1B IT MAN B IT v: 2019.02.05 MAN Párhuzamosság Hasznos és kényelmes a felhasználó oldaláról Kihívás problémák a konkurens végrehajtásnál konfliktus helyzetek
RészletesebbenAdatbázisok II Jánosi-Rancz Katalin Tünde 327A 1-1
Adatbázisok II. 2-3 Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A 1-1 Tranzakciókezelés 1-2 Osztott erőforrások konfliktus helyzetek (azonos erőforrás igény) 1-3 Tranzakciókezelés Eddig feltételeztük:
RészletesebbenOptimista konkurenciavezérlés
Optimista konkurenciavezérlés Léteznek zárolás nélküli módszerek is a tranzakciók sorba rendezhetségének a biztosítására. idpecsét érvényesítés. Optimista: feltételezik, hogy nem fordul el nem sorba rendezhet
RészletesebbenTranzakció-kezelés, alapfogalmak. Vassányi István, 2012.
Tranzakció-kezelés, alapfogalmak Vassányi István, 2012. ACID tulajdonságok Tranzakció: az üzleti folyamat egy logikailag összetartozó lépéssorozata atomicity: nem valósulhat meg részlegesen consistency:
RészletesebbenTranzakciókezelés PL/SQL-ben
Tranzakciókezelés PL/SQL-ben ACID tulajdonságok: Tranzakció Atomosság, Konzisztencia, Izoláció, Tartósság A tranzakció állhat: - Több DML utasításból - Egy DDL utasításból A tranzakció kezdete az első
RészletesebbenAz Oracle rendszer komponensei
Az Oracle rendszer komponensei Célok Az Oracle szerver felépítésének és fő komponenseinek megismerése Annak bemutatása, hogy egy felhasználó Oracle példányhoz (instance) kapcsolódása hogy történik A következő
Részletesebben9.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)
9.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ Adatbázis-kezelő rendszerek áttekintése, alapfogalmak Tankönyv: 1.fejezet: Az adatbázisrendszerek világa Adatbázisok-1 (Hajas
RészletesebbenAdatbázisok elmélete 24. előadás
Adatbázisok elmélete 24. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 ADATBÁZISOK ELMÉLETE
RészletesebbenEllenőrző kérdések. 5. Kis dolgozat kérdései. (9-10. előadás)
Ellenőrző kérdések 5. Kis dolgozat kérdései (9-10. előadás) 164. Adjunk meg a működés közbeni ellenőrzőpont képzésének lépéseit Undo naplózás esetén! (6 pont) 1. naplóbejegyzés készítése,
RészletesebbenADATBÁZIS-KEZELÉS. Adatbázis-kezelő rendszerek
ADATBÁZIS-KEZELÉS Adatbázis-kezelő rendszerek Adat (Data) Észlelhető, felfogható ismeret Jelsorozat Tény, közlés Valakinek vagy valaminek a jellemzője Adatbázis (Data Base, DB) Hosszú ideig évekig meglévő
RészletesebbenTranzakciók, nézettáblák, indexek. Párhuzamos folyamatok irányítása Virtuális és materializált nézettáblák Az adathozzáférés felgyorsítása
Tranzakciók, nézettáblák, indexek Párhuzamos folyamatok irányítása Virtuális és materializált nézettáblák Az adathozzáférés felgyorsítása 1 Miért van szükség tranzakciókra? Az adatbázis rendszereket általában
RészletesebbenAz adatbázisrendszerek világa
Az adatbázisrendszerek világa Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 1.1. Az adatbázisrendszerek fejlődése 1.2. Az adatbázis-kezelő rendszerek áttekintése
RészletesebbenTranzakciók az SQL-ben
Tranzakciók az SQL-ben Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.6. Tranzakciók az SQL-ben (Gyakorlaton csak SAVEPOINT, COMMIT és ROLLBACK lesz. Ez
RészletesebbenAdatbázisrendszerek 9. előadás: Tranzakciók és konkurencia
Adatbázisrendszerek kezelés 2018. április 10. 2 Egyfelhasználós rendszer. Egyidőben legfeljebb egy felhasználó használhatja a rendszert. Többfelhasználós rendszer. Egyidejűleg (konkurens módon) több felhasználó
RészletesebbenAdatbázisok elmélete 24. előadás
Adatbázisok elmélete 24. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 ADATBÁZISOK ELMÉLETE
Részletesebben8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:
8. Gyakorlat SQL SQL: Structured Query Language; a relációs adatbáziskezelők szabványos, strukturált lekérdező nyelve SQL szabványok: SQL86, SQL89, SQL92, SQL99, SQL3 Az SQL utasításokat mindig pontosvessző
Részletesebben12. előadás. Tranzakció kezelés és konkurencia kontroll. Adatbázisrendszerek előadás december 12.
12. előadás Tranzakció kezelés és kontroll Adatbázisrendszerek előadás 2016. december 12., és Debreceni Egyetem Informatikai Kar Az előadások Elmasry & Navathe: Database Systems alapján készültek. 12.1
RészletesebbenSQL DDL-2 (aktív elemek) triggerek
SQL DDL-2 (aktív elemek) triggerek Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 7.fej.: Megszorítások és triggerek 7.4. Önálló megszorítások 7.5. Triggerek
RészletesebbenCélkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése
BEVEZETÉS Célkitűzések Az Oracle10g felépítésének, használatának alapszíntű megismerése A relációs adatbázis-kezelés elméleti és gyakorlati vonatkozásainak áttekintése Az SQL, PL/SQL nyelvek használatának
RészletesebbenC# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21
C# Szálkezelés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21 Tartalomjegyzék 1 Bevezetés 2 Szálkezelés 3 Konkurens Programozás Tóth Zsolt (Miskolci Egyetem)
RészletesebbenAdatbázisok* tulajdonságai
Gazdasági folyamatok térbeli elemzése 4. előadás 2010. 10. 05. Adatbázisok* tulajdonságai Rendezett, logikailag összefüggő és meghatározott szempont szerint tárolt adatok és/vagy információk halmaza Az
RészletesebbenAdatbázisok elmélete 18. előadás
Adatbázisok elmélete 18. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2004 ADATBÁZISOK ELMÉLETE
RészletesebbenADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu
ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu Számonkérés 2 Papíros (90 perces) zh az utolsó gyakorlaton. Segédanyag nem használható Tematika 1. félév 3 Óra Dátum Gyakorlat 1. 2010.09.28.
RészletesebbenB I T M A N B I v: T 2015.03.01 M A N
Adatbázis Rendszerek MSc 2. Gy: MySQL Táblák, adatok B I v: T 2015.03.01 M A N 1/41 Témakörök SQL alapok DDL utasítások DML utasítások DQL utasítások DCL utasítások 2/41 Az SQL jellemzése Az SQL a relációs
RészletesebbenAdatbázis rendszerek I
Normalizálás 1NF 2NF BCNF Adatbázis rendszerek I 20111201 1NF 2NF BCNF Ha BCNF 2NF A B B A 2NF BCNF 2NF részkulcsból indul ki FD létezik FD, amely nem jelölt kulcsból indul ki Jelölt kulcs olyan mezőcsoport
RészletesebbenAdatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER
Adatbázisok I 1 SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER Módosítás: DML: - rekord felvitel INSERT - rekord törlés
Részletesebben... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.
Párhuzamos programok Legyen S parbegin S 1... S n parend; program. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Folyamat
Részletesebben5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv:
5. Gyakorlat 5.1 Hálós adatbázis modell műveleti része NDQL, hálós lekérdező nyelv: A lekérdezés navigációs jellegű, vagyis a lekérdezés megfogalmazása során azt kell meghatározni, hogy milyen irányban
RészletesebbenAdatbázisok elmélete
Adatbázisok elmélete Adatbáziskezelés, bevezető Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Katona Gyula Y. (BME SZIT) Adatbázisok elmélete
RészletesebbenA gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:
1 Adatbázis kezelés 2. gyakorlat A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni: Táblák létrehozása,
RészletesebbenSQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER
Adatbázisok I SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER Módosítás: DML: - rekord felvitel INSERT - rekord törlés
RészletesebbenSQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók
SQL*Plus Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP dolgozó), DEPT osztály) "közönséges" felhasználók Adatszótár: metaadatokat tartalmazó, csak olvasható táblák táblanév-prefixek:
RészletesebbenSQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok
SQL jogosultság-kezelés Privilégiumok Grant és Revoke Grant Diagrammok 1 Jogosultság-kezelés Egy fájlrendszer általában jogosultságokat rendel az általa kezelt objektumokhoz. Tipikusan olvasható, írható,
RészletesebbenAdatbázis rendszerek II. IX. előadás Adatbázisok védelmi eszközei Előadó: Barabás Péter Dátum: 2008. 11.27. Védelem általában jogosulatlan hozzáférések információ védelme nem csak DBMS rendszerekben van
RészletesebbenCsima Judit szeptember 6.
Adatbáziskezelés, bevezető Csima Judit BME, VIK, Számítástudományi és Információelméleti Tanszék 2017. szeptember 6. Csima Judit Adatbáziskezelés, bevezető 1 / 20 Órák, emberek heti két óra: szerda 14.15-16.00
RészletesebbenMegoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat
Megoldás Feladat 1. Statikus teszt Specifikáció felülvizsgálat A feladatban szereplő specifikáció eredeti, angol nyelvű változata egy létező eszköz leírása. Nem állítjuk, hogy az eredeti dokumentum jól
RészletesebbenAdatbáziskezelés. Indexek, normalizálás NZS 1
Adatbáziskezelés Indexek, normalizálás NZS 1 Fáljszervezés módjai Soros elérés: a rekordok a fájlban tetszőleges sorrendben, például a felvitel sorrendjében helyezkednek el. A rekord azonosítója vagyis
RészletesebbenCímkék és ágak kezelése i. Címkék és ágak kezelése
i Címkék és ágak kezelése ii KÖZREMŰKÖDŐK CÍM : Címkék és ágak kezelése TEVÉKENYSÉG NÉV DÁTUM ALÁÍRÁS ÍRTA Jeszenszky, Péter 2014. február 16. VERZIÓTÖRTÉNET VERZIÓ DÁTUM LEÍRÁS NÉV iii Tartalomjegyzék
RészletesebbenAdatbázisok elmélete 21. előadás
datbázisok elmélete 21. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 DTBÁZISOK ELMÉLETE 21.
RészletesebbenAdatbázisok elmélete 1. előadás
Adatbázisok elmélete 1. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2004 ADATBÁZISOK ELMÉLETE
RészletesebbenAdatbázisok elmélete 18. előadás
Adatbázisok elmélete 18. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat ADATBÁZISOK ELMÉLETE 18.
RészletesebbenAdatbázis, adatbázis-kezelő
Adatbázisok I. rész Adatbázis, adatbázis-kezelő Adatbázis: Nagy adathalmaz Közvetlenül elérhető háttértárolón (pl. merevlemez) Jól szervezett Osztott Adatbázis-kezelő szoftver hozzáadás, lekérdezés, módosítás,
RészletesebbenB I T M A N B I v: T 2015.03.09 M A N
Adatbázis Rendszerek II. 5. Gy: PLSQL Triggerek B I v: T 2015.03.09 M A N 1/37 Passzív adatbázisok negatívumai Példa: VIR rendszer egyik adatbázis összegyűjti a termelési adatokat, egy másik erre épül
RészletesebbenEllenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t
Ellenőrző kérdések 2. Kis dolgozat kérdései 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t 37. Ha t szintű indexet használunk,
RészletesebbenElosztott adatfeldolgozás
Elosztott adatfeldolgozás Bujáki Attila Bujaki.Attila@gmail.com Adatbázisok haladóknak 2012. 2012. Október 9. Miről lesz szó? Elosztottságról általában Adatreplikáció, Georeplikáció általánosan Georeplikáció
RészletesebbenAdatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán
Adatbázis rendszerek Molnár Bence Szerkesztette: Koppányi Zoltán Tematika Indexek Tárolt (SQL) eljárások (SQL) Triggerek Tranzakciók Hibatűrés Piaci helyzet Adatbázisok kezelése Az adatbázis-kezelő rendszerek
RészletesebbenAdatbázisok elmélete 1. előadás
Adatbázisok elmélete 1. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 ADATBÁZISOK ELMÉLETE
RészletesebbenAdatbázis-kezelés. Harmadik előadás
Adatbázis-kezelés Harmadik előadás 39 Műveletek csoportosítása DDL adat definiálás Objektum létrehozás CREATE Objektum törlés DROP Objektum módosítás ALTER DML adat módosítás Rekord felvitel INSERT Rekord
RészletesebbenADATBÁZISOK: TAN7.EA témaköre SQL DDL, DML, DCL, Tranz.kez.
ADATBÁZISOK: TAN7.EA témaköre SQL DDL, DML, DCL, Tranz.kez. (info. tanárszakon és fizikusoknak) 8.1.-8-2. folyt.sql DDL. Nézettáblák 10.1. SQL DCL. Biztonság és felhasználói jogosultságok SQL-ben GRANT
RészletesebbenInformatika szigorlat 9-es tétel: Az adatbázis-kezelő rendszerek fogalmai
Informatika szigorlat 9-es tétel: Az adatbázis-kezelő rendszerek fogalmai Adatbázis: egymással valamilyen kapcsolatban lévő adatok jól szervezett halmaza, ahol az adatok számítógépen vannak tárolva úgy,
RészletesebbenJava és web programozás
Budapesti Műszaki Egyetem 2015. 04. 08. 10. Előadás Ami kimearad múlthéten Ha már megvan a KeyListener vagy MouseListener osztályunk a következõ módon tudjuk hozzárendelni egy JFrame vagy JPanel-hez: Ami
RészletesebbenAdatbázis kezelés Delphiben. SQL lekérdezések
Adatbázis kezelés Delphiben. SQL lekérdezések Structured Query Language adatbázisok kezelésére szolgáló lekérdező nyelv Szabályok: Utasítások tetszés szerint tördelhetők Utasítások végét pontosvessző zárja
RészletesebbenSQLServer. Particionálás
SQLServer 11. téma DBMS particiók, LOG shipping Particionálás Tábla, index adatinak szétosztása több FileGroup-ra 1 Particionálás Előnyök: Nagy méret hatékonyabb kezelése Részek önálló mentése, karbantartása
RészletesebbenAdatbázis tartalmának módosítása (DML), az adatbázis-kezelı rendszerek felépítése,
Adatbázis tartalmának módosítása (DML), az adatbázis-kezelı rendszerek felépítése, Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.5. Változtatások az adatbázisban:
Részletesebben6.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)
6.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ SQL gyakorlatban: SQL DML, SQL DDL 6.5. Változtatások az adatbázisban: SQL DML adatkezelő utasítások: INSERT, DELETE, UPDATE
RészletesebbenAz indexelés újdonságai Oracle Database 12c R1 és 12c R2
Az indexelés újdonságai Oracle Database 12c R1 és 12c R2 Szabó Rozalinda Oracle adattárház szakértő, oktató szabo.rozalinda@gmail.com Index tömörítés fejlődése 8.1.3-as verziótól: Basic (Prefixes) index
RészletesebbenAngol szótár V2.0.0.0
Angol szótár V2.0.0.0 Bemutató Verzió Felhasználói Kézikönyv Készítette: Szűcs Zoltán. 2536 Nyergesújfalu, Pala u. 7. Tel \ Fax: 33-355 - 712. Mobil: 30-529-12-87. E-mail: info@szis.hu. Internet: www.szis.hu.
RészletesebbenAdatbázis használat I. 5. gyakorlat
Adatbázis használat I. 5. gyakorlat Tudnivalók Jövő hétre a normalizálást hozni vagy e- mailben beküldeni! 7. héten (= két hét múlva!) nagyzh + FF checkpoint: adattáblák feltöltése, megszorítások 2010.
RészletesebbenSQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1
SQL 1.rész 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1 SQL története, szabványok Szabvány adatbázis-kezelő nyelv: SQL SQL (angol kiejtésben
RészletesebbenInformatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK)
Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ 5.hét: SQL áttekintés, táblák létrehozása és adatok felvitele Az előadások Ullman-Widom: Adatbázisrendszerek
RészletesebbenSQL DDL-1: táblák és megszorítások
SQL DDL-1: táblák és megszorítások Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása 7.1. Kulcsok és idegen kulcsok 7.2. Értékekre
RészletesebbenBevezetés: az SQL-be
Bevezetés: az SQL-be Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása SQL-ben, adattípusok, kulcsok megadása 02B_BevSQLsemak
RészletesebbenN Y I L A T K O Z A T
N Y I L A T K O Z A T A COM for Web internetes számlázó alkalmazás (https://konyveles.multienergie.hu) számlázási rendjéről. 1. A számlák iktatószámainak felépítése: 1.1. Az iktatószám felépítése kimenő
RészletesebbenADATBÁZISKEZELÉS ADATBÁZIS
ADATBÁZISKEZELÉS 1 ADATBÁZIS Az adatbázis adott (meghatározott) témakörre vagy célra vonatkozó adatok gyűjteménye. - Pl. A megrendelések nyomon követése kereskedelemben. Könyvek nyilvántartása egy könyvtárban.
RészletesebbenOperációs rendszerek be és kivitelkezelése, holtpont fogalma, kialakulásának feltételei, holtpontkezelési stratégiák, bankár algoritmus.
Operációs rendszerek be és kivitelkezelése, holtpont fogalma, kialakulásának feltételei, holtpontkezelési stratégiák, bankár algoritmus. Input/Output I/O Hardware I/O eszközök (kommunikációs portok szerint
RészletesebbenJava és web programozás
Budapesti M szaki Egyetem 2013. november 20. 10. El adás SQLite SQLite: Adatbázis kezel rendszer SQL standardokat nagyrészt követi Nagyon elterjedt, pl böngész kben is használt Nehéz olyan programnyelvet
RészletesebbenS04-2 Elosztott alkalmazások készítése
S04-2 Elosztott alkalmazások készítése Tartalom 1. Többrétegű architektúra, elosztott szerveroldal 2. Kommunikációs eszközök: távolieljárás-hívás és üzenet alapú infrastruktúra (point-to-point és publish-subscribe
RészletesebbenAdatbázis Rendszerek II. 6. PLSQL Triggerek 32/1B IT MAN
Adatbázis Rendszerek II. 6. PLSQL Triggerek 32/1B IT MAN B IT v: 2016.03.04 MAN Passzív adatbázisok negatívumai Példa: VIR rendszer egyik adatbázis összegyűjti a termelési adatokat, egy másik erre épül
RészletesebbenSzinkronizálás. 9. előadás
Szinkronizálás 9. előadás Az órák szinkronizálása Ha mindegyik gép a saját óráját használja, akkor az adott esemény után történt másik eseményhez az elsőnél korábbi idő társulhat. Óraszinkronizáló algoritmusok
RészletesebbenAdatbázisok-1 előadás Előadó: dr. Hajas Csilla
Adatbázisok-1 előadás Előadó: dr. Hajas Csilla Áttekintés az I.zh-ig Áttekintés az 1ZH-ig // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1 Hol tartunk? Mit tanultunk
RészletesebbenAdat és folyamat modellek
Adat és folyamat modellek Előadásvázlat dr. Kovács László Folyamatmodell nyersanyag miből termék mit funkció ki munkaerő eszköz mivel Objektumok Tevékenységek Adatmodell Funkció modell Folyamat modell
RészletesebbenPwC EKAER Tool felhasználói leírás. 2015. május
www.pwc.com/hu/ekaer PwC EKAER Tool felhasználói leírás 2015. május Tartalom Bejelentések létrehozása 3 1. A forrás Excel állomány kitöltése 3 2. A forrás Excel állomány mentése 4 A szükséges mezők kitöltését
RészletesebbenAdatbázisok elmélete 12. előadás
Adatbázisok elmélete 12. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 ADATBÁZISOK ELMÉLETE
RészletesebbenBevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009
Bevezetés az SQL-be Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása SQL-ben Kulcsok megadása (folyt.köv.7.fej.) -- még: Relációs
RészletesebbenAdatmodellek. 2. rész
Adatmodellek 2. rész Makány György Alapfogalmak JEL ADAT INFORMÁCIÓ ADATHALMAZ ADATÁLLOMÁNY ADATBÁZIS 2 Alapfogalmak JEL ADATHALMAZ észlelhető, felfogható fizikai érték ADAT a valós világ egy jelenségéből
RészletesebbenJava programozási nyelv 9. rész Kivételkezelés
Java programozási nyelv 9. rész Kivételkezelés Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/24 Tartalomjegyzék
RészletesebbenADATBÁZISOK, ADATTÁRHÁZAK
ADATBÁZISOK, ADATTÁRHÁZAK 1 Adattárolás Háttértárak Fájlok Fájlkezelő rendszer 2 Adattárolás Az adatok, információk bináris formában kerülnek tárolásra. Értelmezés kérdése, hogy egy bitsorozatnak milyen
RészletesebbenVodafone ODI ETL eszközzel töltött adattárház Disaster Recovery megoldása. Rákosi Péter és Lányi Árpád
Vodafone ODI ETL eszközzel töltött adattárház Disaster Recovery megoldása Rákosi Péter és Lányi Árpád Adattárház korábbi üzemeltetési jellemzői Online szolgáltatásokat nem szolgált ki, klasszikus elemzésre
RészletesebbenSzállítmánytömeg kezelői megosztása
METRI Soft Mérleggyártó KFT PortaWin (PW2) Jármű mérlegelő program 6800 Hódmezővásárhely Jókai u. 30 Telefon: (62) 246-657, Fax: (62) 249-765 e-mail: merleg@metrisoft.hu Web: http://www.metrisoft.hu Módosítva:
RészletesebbenII. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK
Mérési Utasítás Linux/Unix jogosultságok és fájlok kezelése Linux fájlrendszerek és jogosultságok Linux alatt, az egyes fájlokhoz való hozzáférések szabályozása érdekében a fájlokhoz tulajdonost, csoportot
RészletesebbenTömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása
Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző
RészletesebbenAdatbázis-lekérdezés. Az SQL nyelv. Makány György
Adatbázis-lekérdezés Az SQL nyelv Makány György SQL (Structured Query Language=struktúrált lekérdező nyelv): relációs adatbázisok adatainak visszakeresésére, frissítésére, kezelésére szolgáló nyelv. Születési
RészletesebbenAdatbázisok biztonsága
Adatbázisok biztonsága 13 1 Célkitőzések 1. Titoktartás (Secrecy): olyan felhasználó, akinek nincs joga, ne férjen hozzá az információkhoz. pl. egy diák ne láthassa más diák kreditjeit. 2. Sértetlenség
RészletesebbenSQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai
SQL ALAPOK Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai BEVEZETÉS SQL: Structured Query Language Strukturált Lekérdező Nyelv Szabvány határozza meg, azonban számos nyelvjárása létezik
RészletesebbenRekurzió. Dr. Iványi Péter
Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(
RészletesebbenTemporális adatbázisok. Kunok Balázs szakdolgozata alapján
Temporális adatbázisok Kunok Balázs szakdolgozata alapján Miért? Döntéshozatalok körülményeinek meghatározása. Nem csak az a lényeges, hogy hogyan változott az adat, hanem az is, hogy miért. Adatok helyreállíthatók
RészletesebbenOperációs rendszerek. 3. gyakorlat. Jogosultságkezelés, linkelés, csővezeték UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED Jogosultságkezelés, linkelés, csővezeték Operációs rendszerek 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik
RészletesebbenTáblakezelés: Open SQL Internal table. Tarcsi Ádám: Az SAP programozása 1.
Táblakezelés: Open SQL Internal table Tarcsi Ádám: Az SAP programozása 1. OPEN SQL Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 2 Open SQL Az Open SQL kulcsszavai: SELECT INSERT
Részletesebbenszámított mező, számított tétel
számított mező, számított tétel A pivot táblában négy számított objektumot hozhatunk létre. Ebből kettőnek a képletét közvetlenül a felhasználó szerkeszti meg, a másik kettőét a program állítja össze.
RészletesebbenTranzakció, mint a helyreállítás egysége
Helyrellítás hiba esetén Tranzakció, mint a helyreállítás egysége A naplóállomány sorai naplóbejegyzések (log records), melyek a tranzakció tevékenységeit tárolják, ezek segítségével rekonstruálható az
RészletesebbenFolyamatos teljesítésű számlák tömeges generálása időszakonként, egyedi tételek kezelésének lehetőségével
Tömeges számlázás Folyamatos teljesítésű számlák tömeges generálása időszakonként, egyedi tételek kezelésének lehetőségével Tömeges számlázáshoz tartozó alap beállítások Tömeges számlázási adatok megadása
Részletesebben2MU09f_Konkvez_feladatok.pdf Feladatok a tranzakciókezelésbıl
2MU09f_Konkvez_feladatok.pdf Feladatok a tranzakciókezelésbıl Molina-Ullman-Widom: Adatbázisrendszerek megvalósítása Panem, 2001. >> 9.fejezet Konkurenciavezérlés Vegyünk egy objektum orientált adatbázist.
RészletesebbenKépzési projektterv felvétele Képző Szervezetek részére Kitöltési útmutató
Képzési projektterv felvétele Képző Szervezetek részére Kitöltési útmutató az Európai Mezőgazdasági Vidékfejlesztési Alapból az Új Magyarország Vidékfejlesztési Program I. és II. intézkedéscsoportjához
RészletesebbenA TANTÁRGY ADATLAPJA
A TANTÁRGY ADATLAPJA 1. A képzési program adatai 1.1 Felsőoktatási intézmény Babeș-Bolyai Tudományegyetem 1.2 Kar Matematika és Informatika 1.3 Intézet Magyar Matematika és Informatika 1.4 Szakterület
RészletesebbenAz elektronikus pályázati űrlap (eform) érvényesítése és benyújtása
Az elektronikus pályázati űrlap (eform) érvényesítése és benyújtása Az Európa a polgárokért programban a projektjavaslatokat elektronikus pályázati űrlap (e-űrlap) használatával kell benyújtani. A papír
RészletesebbenCsima Judit október 24.
Adatbáziskezelés Funkcionális függőségek Csima Judit BME, VIK, Számítástudományi és Információelméleti Tanszék 2018. október 24. Csima Judit Adatbáziskezelés Funkcionális függőségek 1 / 1 Relációs sémák
RészletesebbenProgramozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010
Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 12. ELŐADÁS Adatbázis-kezelés Delphiben 2 Adatmegjelenítés lekérdezés segítségével A táblákhoz hasonlóan a lekérdezések is az adatbázis
RészletesebbenAdatbázis rendszerek SQL nyomkövetés
Adatbázis rendszerek 1. 12. SQL nyomkövetés 1/32 B ITv: MAN 2017.10.26 Nyomkövetési feladat 2/32 Gyakorló feladatok Termék-Vásárlás-Vásárló Oktató-Tantárgy-Hallgató 3/32 Gyakorló feladat: Termék-Vásárlás-Vásárló
RészletesebbenOperációs rendszerek. Holtpont
Operációs rendszerek Holtpont Holtpont (deadlock) fogalma A folyamatok egy csoportja olyan eseményre vár, amelyet egy másik, ugyancsak várakozó folyamat tud előidézni. Esemény: tipikusan erőforrás felszabadulása.
Részletesebben