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

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

Adatbázisrendszerek elméleti alapjai 6. előadás

Hasonló előadás


Az előadások a következő témára: "Adatbázisrendszerek elméleti alapjai 6. előadás"— Előadás másolata:

1 Adatbázisrendszerek elméleti alapjai 6. előadás
Osztott adatbázisok

2 Osztott adatbázisok Bevezetés Architektúrák Darabolás (fragmentálás)
Sokszorosítás (replikálás) 2PC (Kétfázisú commit protokoll) Globális és lokális zárkezelés 6. előadás

3 Bevezetés Elosztott számítás
Autonóm számítási egységek összessége, melyek egy hálózatba vannak kötve, és egy közös feladat ellátásában működnek együtt. 6. előadás

4 Miért? Rendelkezésre állás több helyen Megbízhatóság
Cég több telephellyel Megbízhatóság Válaszidő csökkentése Skálázhatóság 6. előadás

5 Mit osszunk el? Számítás logikája Ellátott funkciók Adat Vezérlés
6. előadás

6 Elosztott adatbázis Több, logikailag kölcsönösen összefüggő adatbázis gyűjteménye Számítógépes hálózat köti össze 6. előadás

7 Elosztott adatbázisrendszer
Distributed DBMS Szoftverrendszer Elosztott adatbázist kezel Elosztottságot elrejti a felhasználó elől 6. előadás

8 Adatok kézbesítése Kézbesítés módja Gyakoriság Módszer
Pull-only, push-only, hibrid Gyakoriság Periodikus, feltételes, szabálytalan (ad-hoc) Módszer Unicast, one-to-many 6. előadás

9 Előnyök Elosztott adatok átlátszó kezelése Elosztott tranzakciók
Nagyobb teljesítmény Könnyű bővíthetőség (skálázhatóság) 6. előadás

10 Átlátszóság fajtái Adatfüggetlenség Hálózati átlátszóság
Logikai Fizikai Hálózati átlátszóság Elhelyezkedési átlátszóság Elnevezési átlátszóság Sokszorosítás átlátszósága Fragmentáció átlátszósága 6. előadás

11 Átlátszóság helye DDBMS-ben Hozzáférési rétegen Operációs rendszerben
6. előadás

12 Tervezési problémák Elosztás Könyvtárak kezelése
Partícionálás Replikáció Teljesen vagy parciálisan replikált Könyvtárak kezelése Lekérdezések elosztása Konkurrenciavezérlés Holtpontok Megbízhatóság 6. előadás

13 Tervezési problémák 6. előadás

14 Architektúrák Rendszer szerkezetét jelenti Komponensek és funkcióik
Komponensek közötti relációk Átfolyó adatok milyensége és a folyás vezérlése 6. előadás

15 Architektúra megadása
Szabványosítás Referencia modellel adjuk meg 6. előadás

16 Referencia modell megadása
Komponens alapú Funkcionális Adat központú 6. előadás

17 Példa: ANSI/SPARC 6. előadás

18 DDBMS megadása 6. előadás

19 Architektúra adatközpontú leírása
6. előadás

20 MultiDatabase rendszerek (MDBS)
Teljesen autonóm Nem tudják, hogy működjenek együtt Akár egymás létezéséről sem tudnak Akár nem is tudják, hogyan kommunikáljanak 6. előadás

21 MultiDatabase rendszerek (MDBS)
6. előadás

22 MultiDatabase rendszerek (MDBS)
6. előadás

23 Kliens-szerver architektúra
6. előadás

24 Kliens-szerver architektúra típusai
Több kliens, egyetlen szerver Több kliens, több szerver Kliens oda kapcsolódik, ahol az adat (funkció, stb.) van Kliens csak egy szerverrel kommunikál 6. előadás

25 Fragmentálás Lépések Irány Fragmentáció Allokáció
Vízszintes – táblák sorainak szétosztása Függőleges – oszlopok szétosztása 6. előadás

26 Elosztás dimenziói 6. előadás

27 Elosztás dimenziói Megosztás szintje Hozzáférési minták viselkedése
Nem osztunk meg semmit Csak adatokat Programokat is Hozzáférési minták viselkedése Statikus Dinamikus Tudás szintje 6. előadás

28 Elosztást befolyásolják
Adatbázis Darabolás helyes megválasztása, darabok mérete Alkalmazások Hozzáférések fajtái, számosságuk és helyei (adat lokalizáció) Kommunikációs hálózat Sávszélesség, késleltetés, kommunikációs overhead Számítógépes rendszerrel kapcsolatos Tárolás költsége egy adott gépen Számítás költsége egy adott gépen 6. előadás

29 Miért fragmentáljunk? Teljes másolatok költségesek
Általában nem szükséges a teljes adattábla minden alkalmazásnak Lekérdezésen belüli párhuzamosítás 6. előadás

30 Fragmentálás helyessége
Teljesség felbontás esetén minden adatelem, ami R-ben megtalálható, szerepelnie kell egy van több Ri-ben Rekonstruálhatóság A fenti jelöléssel létezik egy operátor, melyre Diszjunktság 6. előadás

31 Allokálás Replikáció nélkül Replikációval Teljes replikációval
Részleges replikációval 6. előadás

32 Replikáció Adatok redundáns tárolása az elosztott rendszer különböző helyein Növekedett rendelkezésre állás Csökkent válaszidő Jó skálázhatóság Szinkronizációs költségek 6. előadás

33 Replikáció típusai Teljes replikáció Részleges replikáció
Lokális tranzakciók – nem replikált adatok 6. előadás

34 Konzisztencia Kölcsönösen konzisztens állapot Erős Gyenge
Egy adat minden másolata megegyezik Erős Minden másolatnak meg kell egyeznie Gyenge Előbb-utóbb meg kell egyeznie (eventually consistent) 6. előadás

35 Globálisan nem sorosítható ütemezés (1)
Kiinduló állapot konzisztens A tárolja x-et B tárolja x, y-t C tárolja x, y, z-t 6. előadás

36 Globálisan nem sorosítható ütemezés (2)
6. előadás

37 Globálisan nem sorosítható ütemezés (3)
T1-nek le kell futnia A,B,C-n T2-nek csak B-n és C-n T3-nak csak C-n Egy lehetséges ütemezés: 6. előadás

38 Globálisan nem sorosítható ütemezés (4)
Tranzakciók sorrendje ekkor: Hb esetén T1, T2 Hc esetén T2, T3, T1 Globálisan nem sorosítható, de az adatbázis kölcsönösen konzisztens marad 6. előadás

39 1SR – One-copy serializability
Tranzakciók hatása a replikált adatokon olyan legyen, mintha egymagában futtattuk volna egy adaton Az ütemezés ekvivalens egy soros ütemezésével a nem-replikált adatoknak 6. előadás

40 Frissítések végrehajtása
Központosított Master copy Single master Primary copy Elosztott Bármelyik másolat módosítható 6. előadás

41 Másolatok frissítése Mohó Lusta
Szinkron frissítés, a tranzakcióknak meg kell várni, mire minden másolat frissül Lusta Aszinkron frissítés Inkonzisztencia veszélye 6. előadás

42 Replikáció átlátszósága
Átlátszatlan Az alkalmazásnak tudnia kell, melyik adat melyik szerveren van Átlátszó A szerverek elfedik a replikációt 6. előadás

43 Mohó, centralizált, primary copy, korlátozott átlátszóság
6. előadás

44 Mohó, centralizált, primary copy, teljes átlátszóság
6. előadás

45 Mohó, elosztott 6. előadás

46 Lusta, centralizált 6. előadás

47 Kétfázisú commit (2PC) A tranzakció commit fázisa két lépésből áll
Minden résztvevő először rábólint, hogy mehet a tranzakció Csak ezután kerül véglegesítésre vagy abortálásra Pl. valahol deadlock-ot okozna a tranzakció Ekkor mindenhol Abort 6. előadás

48 Hogyan működik? Minden állomás naplózza saját eseményeit
Van egy koordinátor állomás, ő hozza a végleges döntést Ha volt olyan állomás ami ABORT-t szeretne, akkor a végleges döntés ABORT legyen Ha minden állomás COMMIT-t szeretne, akkor a végleges döntés COMMIT legyen Az állomások üzeneteket küldenek egymásnak, ezt is naplózzák A végleges döntés után van hatása a műveleteknek 6. előadás

49 2PC protokoll (1) A koordinátor saját naplójába (T, Felkészül)
Ezt mindenhova elküldi (még magának is) Ha egy állomás megkapta az üzenetet, eldönti, hogy a nála COMMIT vagy ABORT lesz majd Ha COMMIT várható (már csak ez lenne hátra) (T, Készenáll) a saját naplóba koordinátornak elküldeni (T, Készenáll) –t Ha ABORT várható (T, ABORT-Legyen) a saját naplóba koordinátornak elküldeni (T, ABORT-Legyen)-t 6. előadás

50 2PC protokoll (2) A koordinátor megkapja az üzeneteket
Ha a koordinátor a (T, Készenáll)-t megkapta mindenkitől (T, COMMIT) a saját naplójába mindenhova elküldi a (T, COMMIT-Lesz)-t Ha a koordinátor a (T, ABORT-Legyen)-t kapta legalább egy állomástól (T, ABORT) a saját naplójába mindenhova elküldi a (T, ABORT-Lesz)-t 6. előadás

51 2PC protokoll (3) A résztvevő megkapja a végleges döntést
Ha egy állomás a (T, COMMIT-Lesz)-t kapja (T, COMMIT) Ha egy állomás a (T, ABORT-Lesz)-t kapja (T, ABORT) 6. előadás

52 Globális és lokális zárkezelés – zárak típusai
Minden LOCK globális. Egyszerű modell, egy zárállomás tartja nyilván ezeket Egy LOCK 3 üzenet (igénylés, engedélyezés, feloldás) A zárállomás nagyon terhelt lehet Elsődleges példány Mindenből van egy elsődleges példány, zároláskor ehhez fordulunk Nem koncentrált a forgalom Osztott zárolások 6. előadás

53 Osztott zárak Nem lehet semelyik két tranzakciónak ugyanazon objektumon globális WLOCK-ja Ha egy tranzakciónak van globális WLOCK-ja az objektumon, egy másiknak sem lehet globális RLOCK Több tranzakciónak is lehet globáios RLOCK- ja egy objektumra Minden állomás az érvényes globális LOCK-ok figyelembevételével működik 6. előadás

54 RLOCK megszerzése Globális RLOCK A megszerzéséhez elég egy lokális RLOCK A Ha az i. állomás akar egy RLOCK Ai-t, nem kell üzenni Ha WLOCK Ai van, akkor elutasítjuk Ha semmi vagy RLOCK Ai, akkor engedélyezzük Engedélyezéskor felteszi az RLOCK Ai-t (globális RLOCK A is) 6. előadás

55 WLOCK megszerzése Globális WLOCK A megszerzéséhez kell minden WLOCK Ai
Ha az i. állomás akar egy WLOCK Ai-t, akkor üzen minden másik állomásnak, ahol az Aj megtalálható Ha ezen állomáson RLOCK Aj vagy WLOCK Aj, elutasítja a kérést Különben engedélyezi Ha megjöttek a válaszok Ha mindenhonnan engedélyezés jött i. állomás felteszi a WLOCK Ai-t Mindenhova üzen, hogy WLOCK Aj (globális WLOCK A) 6. előadás

56 Többségi zárolás Globális RLOCK A megszerzéséhez kell, hogy legyen RLOCK Ai az Ai-k többségén Globális WLOCK A megszerzéséhez kell, hogy legyen WLOCK Ai az Ai-k többségén Nem tehetünk fel WLOCK Ai-t és RLOCK Ai-t és nem lehet két WLOCK Ai egyszerre 6. előadás

57 Többségi zárolás Legyen n, hogy hány példány van A-ból, illetve legyen
Globális RLOCK A megszerzéséhez kell, hogy RLOCK Ai legyen legalább l db Ai-n Globális WLOCK A megszerzéséhez kell, hogy WLOCK Ai legyen legalább k db Ai-n 6. előadás


Letölteni ppt "Adatbázisrendszerek elméleti alapjai 6. előadás"

Hasonló előadás


Google Hirdetések