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

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.

Hasonló előadás


Az előadások a következő témára: "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."— Előadás másolata:

1 Osztott adatbázisok

2  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ás2

3  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ás3

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

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

6  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ás6

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

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

9  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ás9

10  Adatfüggetlensé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ás10

11  DDBMS-ben  Hozzáférési rétegen  Operációs rendszerben 6. előadás11

12  Elosztás ◦ 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ás12

13 6. előadás13

14  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ás14

15  Szabványosítás  Referencia modellel adjuk meg 6. előadás15

16  Komponens alapú  Funkcionális  Adat központú 6. előadás16

17 6. előadás17

18 6. előadás18

19 6. előadás19

20  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ás20

21 6. előadás21

22 6. előadás22

23 6. előadás23

24  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ás24

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

26 6. előadás26

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

28  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ás28

29  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ás29

30  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ás30

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

32  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ás32

33  Teljes replikáció  Részleges replikáció ◦ Lokális tranzakciók – nem replikált adatok 6. előadás33

34  Kölcsönösen konzisztens állapot ◦ 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ás34

35  Kiinduló állapot konzisztens  A tárolja x-et  B tárolja x, y-t  C tárolja x, y, z-t 6. előadás35

36 6. előadás36

37 6. előadás37  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:

38 6. előadás38  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

39 6. előadás39  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

40 6. előadás40  Központosított ◦ Master copy  Single master  Primary copy  Elosztott ◦ Bármelyik másolat módosítható

41 6. előadás41  Mohó ◦ 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

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

43 6. előadás43

44 6. előadás44

45 6. előadás45

46 6. előadás46

47  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ás47

48  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ás48

49  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ás49

50  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ás50

51  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ás51

52  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 ◦ Egy LOCK 3 üzenet (igénylés, engedélyezés, feloldás) ◦ Nem koncentrált a forgalom  Osztott zárolások 6. előadás52

53  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ás53

54  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ás54

55  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ás55

56  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ás56

57  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ás57


Letölteni ppt "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."

Hasonló előadás


Google Hirdetések