260 likes | 346 Views
Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel. Bemutatta: Jamal Uddin Ahamed 2004. március 12., péntek. A bemutató vázlata. 1. Áttekintés . 2. Félig összekapcsolás művelet . 3. Különböző félig összekapcsolási műveletek .
E N D
Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel Bemutatta: Jamal Uddin Ahamed 2004. március 12., péntek
A bemutató vázlata 1. Áttekintés. 2. Félig összekapcsolás művelet. 3. Különböző félig összekapcsolási műveletek. a. 2 irányú félig összekapcsolás. b. hasított félig összekapcsolás. c. tartományjellemző félig összekapcsolás. d. összetett félig összekapcsolás. 4. Hivatkozások. 5. Kérdések és válaszok.
1.1 Mi az az elosztott adatbázisrendszer? • Az elosztott adatbázisrendszer jellemzője, hogy a rendszerkomponensek (hardver, vezérlés, adat) elosztottan helyezkednek el. Ebben a kutatásban az elosztott rendszer független, pont-pont kommunikációs vonalakkal összekapcsolt számítógépek halmaza.
1.2 Csomópont karakterisztikák: Minden számítógép, amelyet a hálózatban csomópontnak hívunk, feldolgozási képességgel, adattárolási képességgel redelkezik és autonóm módon működhet a rendszerben. Minden csomópont tartalmazza az elosztott DBMS egy verzióját.
1.3 Mi az az elosztott lekérdezés-kiértékelés? • Az adatok egy hálózat különböző helyeiről való kinyerését nevezzük a elosztott lekérdezés-kiértékelésnek.
1.4 Az elosztott lekérdezés-kiértékelés fázisai félig összekapcsolás művelettel. • Kezdeti helyi feldolgozás (a kiválasztásokat és a vetítéseket minden helyen végrehajtjuk) • Félig összekapcsolás feldolgozása ( félig összekapcsoló program), amely a fennmaradó összekapcsolás műveletekből származik és végrehajtásával a relációk méretét költséghatékonyan csökkenthetjük. • Végső feldolgozás (minden részt vevő relációt átküldünk a végső helyre és az összes összekapcsolást elvégezzük).
2.1 Félig összekapcsolás: • AzRiésRjköztiA mezőre vonatkozó félig összekapcsolást így jelöljük: Rj⋉ Ri . Az adatátvitel költségének csökkentésére használjuk. Kiszámítás lépései: • VetítsükRi-t az A mezőre (Ri[A] ) és szállítsuk ezt a vetületet(félig összekapcsolási vetület) Rihelyéről Rjhelyére; • RedukáljukRj-t Rj’-re úgy,hogy az A mező Ri[A]-ban nem előforduló értékeit taralmazó rekordokat töröljük
R1[A] 2. hely 1. hely R2 R1 A B A C Szállít(3) vetítés 3 7 1 1 4 2 4 8 2 5 redukál Szállít(6) 9 3 5 3 3 6 7 Szállít(2) R2’ qs 2.2 Példa: Példa(félig összekapcsolás s: R1—AR2): Megtakarítás (s) = 6 -2 = 4 Költség (s) = 3 Költséghatékonyság D(s) = B(s)-C(s) >0
3.a.1 2-irányú félig összekapcsolás definíciója 2-irányú félig összekapcsolás—a félig összekapcsolás kibővített változata. • Definíció:2-irányú összekapcsolás (t) RiésRjközött azAmezőre így jelölhető: RiARj = {Ri—ARj, Rj—ARi } Ígytredukálja Ri-tRj-t Ri’-re ésRj’-re.
3.a.2 2-irányú félig összekapcsolás tulajdonságai. • Kiszámítás lépései: • KüldjükRi [A]-t azi.-ről a j. helyre; • RedukáljukRj-tRj’ -re úgy, hogy elimináljuk az Ri [A]–ban elő nem forduló A értékeket tartalmazó rekordokat, és közben partícionáljuk Ri [A]-tRi [A]m–ekre (mindenRj [A]-ra) ésRi [A]nm(Ri [A]- Ri [A]m) ; • Küldjükmin(Ri [A]m , Ri [A]nm)-t vissza azi. helyre ; • RedukáljukRi-tRi’-reRi [A]m (vagyRi [A]nm) felhasználásával. • Kiértékelés: • Megtakarítás: B(t) = [S(Ri ) - S(Ri ’)] + [S(Rj) - S(Rj’)] • Költség:C(t) = S(Ri [A] ) + min[S(Ri [A]m ) , S( Ri [A]nm)] • Ha a megtakarítás nagyobb, mint a költség (D(t) >0),akkorköltséghatékony2-irányú félig összekapcsolásnak nevezzük.
R1[A] 2. hely 1. hely R2 R1 A B A C Szállít(3) vetítés 7 1 1 3 4 1 R1[A]m partícionálás Szállít(1) 4 2 2 8 5 2 3 R1[A]nm redukál redukál 3 3 9 3 5 3 6 7 6 R1’ R2’ Szállít(2) Szállít(2) qs 3.a.3 2-irányú félig összekapcsolás példa.
3.a.4 Félig összekapcsolás Vs 2-irányú félig összekapcsolás. -A félig összekapcsolás kiterjesztett változata. • Nagyobb redukáló ereje van, mint a félig összekapcsolásnak. • A 2-irányú félig összekapcsolás redukciója tovább terjed, mint a félig összekapcsolásé.
3.b.1 Hasított félig összekapcsolás művelet. Fő ötlet:használjunk egy keresési szűrőt, amely a félig összekapcsolás vetítését egy kis bittömbbel ábrázolja. Definíció: Riés Rjhasított félig összekapcsolásának jele Rj∝ Ri. Így számítjuk ki: • Ri félig összekapcsolási vetületét egy bittömbbel ábrázoljuk; • Elszállítjuk a bittömböt Rj helyére; • végül Rjrekordjait szűrjük a keresési szűrővel.
S# 3 1 S# 1 333 Name Phone 4 3 1 2 0 444 Cindy 222 3 4 3 1 333 Jemal B 4 8 4 1 Sunny 444 S#(R1) 0 8 5 Maggie 555 0 6 666 • Hij((Ri))Bij • Szállít(Bij) Rj vetítés 0 H(x)=X 1 redukál 3.b.2 hasított félig összekapcsolás példa. R2 R1
3.b.3 Félig összekapcsolás Vs Hasított félig összekapcsolás. • Előnyök: • A hasított félig összekapcsolás költséghatékonyabb, mint a félig összekapcsolás • A hasított félig összekapcsolás keresési szűrője jelentős megtakarítást ér el a félig összekapcsolás költségén • Korlátok: • Csak a végrehajtási fán működik • Szorosan összefügg a hasítófüggvényekkel
3.c.1 Mi az a vízszintesen partícionált tábla Egy elosztott adatbázisrendszert vízszintesen partícionáltnak hívhatunk, ha a relációk vízszintesen szétdarabólhatók diszjunkt rekordhalmazokra, amelyeket vízszintes töredékeknek nevezünk.
3.c.2 Vízszintesen partícionált adatbázisrendszer.(Példa) EMP1: 1D-no10 EMP EMP2: 11D-no20
3.c.3 Vízszintesen partícionált adatbázisrendszer.(Tulajdonságok) • Egy Ri töredezett relációt úgy kapunk meg, hogy vesszük a töredékeinek unióját. Ri = ∪k Rik • A bináris unió és összekapcsolás műveletek között disztributív kapcsolat áll fenn töredezett relációknál: két töredezett relációR1 ésR2 közti összekapcsolás ekvivalens azR1 minden töredéke és R2minden töredéke közti összekapcsolások uniójával. Matematikailag: (∪k R1k)⋈[A=B] (∪m R2m)= ∪k,m(R1k⋈[A=B] R2m)
3.c.4 Miért nem használjuk az egyszerű félig összekapcsolást a töredékek között a töredékek méretének csökkentésére? Vegyük azRi ⋈[A=B] Rj összekapcsolást a töredezett Ri és Rjrelációk között. Szeretnénk csökkenteni az Rik-nak, Ri egy töredékének méretét úgy, hogy félig összekapcsoljuk, mielőtt elküldük a feldolgozási helyre.Nem tudjuk elvégezni az Rik A=B] Rjm félig összekapcsolást Rik és bármilyen Rjm, Rj töredéke között anélkül, hogy Rj összes többi töredékét számításba vennénk, mert az összekapcsolás műveletben egyetlen rekord se törölhető, amíg a másik összekapcsolandó reláció összes rekordjával össze nincs hasonlítva.
Példa: sal: 101E-no105 EMP1: 1D-no10 EMP2: 11D-no20 sal: 105E-no110
3.c.5 A tartományjellemző félig összekapcsolás definíciója. A tartományjellemző félig összekapcsolás művelet, Rik( A=B] Rjm, ahol A és B az összekapcsolási attribútumok és Rik, Rjm twoaz összekapcsolandóRi és Rjtöredékei, így definiálható: Rik( A=B] Rjm ={r|r Rik ; r.A Rjm [B] ∪(Dom[Rj.B]-Dom[Rjm.B])} Ahol Rik a korlátozott töredék és Rjm a korlátozó töredék. Ri-t nevezzük korlátozott relációnak és Rj-t a korlátozó relációnak a tartományjellemző félig összekapcsolásban.
3.d.1 Az összetett félig összekapcsolás definíciója. • Összetett félig összekapcsolás: olyan félig összekapcsolás, ahol a vetítésben és átvitelben több mező vesz részt.
3.d.2 Példa összetett félig öszekapcsolásra. R2 R1 Nincs Hamis ciklus!!
3.d.3 Félig összekapcsolás Vs Összetett félig összekapcsolás. • Az összetett félig összekapcsolás egy feldolgozó algoritmusbanáltalábanjelentős RT csökkenést eredményez. • Az összetett félig összekapcsolástnem mindigérdemes használni. Ha RT növekedést eredményez, akkor ne használjuk. • Az összetett félig összekapcsolásos stratégialegalább olyan jó,mint az összetett félig összekapcsolás nélküli.
Hivatkozások: • Using 2-way semijoin in distributed query processing. By Hyunchul Kang and Nick Roussopoulos. • Improving distributed query processing by hash-semijoins. By Judy Tseng and Arbee Chen. • Domain Specific Semijoin:A new operation for distributed query processing. By Jason Chen and Victor Li. • Composite Semijoin in distributed query processing. By William Perrizio and Chun Chen
Megjegyzések és Kérdések?? Köszönöm!