Upload
asis
View
28
Download
4
Embed Size (px)
DESCRIPTION
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 . - PowerPoint PPT Presentation
Citation preview
1
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
2
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.
3
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.
4
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.
5
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.
6
1.4 Az elosztott lekérdezés-kiértékelés fázisai félig összekapcsolás művelettel.
1. Kezdeti helyi feldolgozás (a kiválasztásokat és a vetítéseket minden helyen végrehajtjuk)
2. 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.
3. 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).
7
2.1 Félig összekapcsolás: Az Ri és Rj közti A 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:
1) Vetítsük Ri -t az A mezőre (Ri[A] ) és szállítsuk ezt a vetületet (félig összekapcsolási vetület) Ri helyéről Rj helyére;
2) Redukáljuk Rj -t Rj’-re úgy, hogy az A mező Ri[A]-ban nem előforduló értékeit taralmazó rekordokat töröljük
8
2.2 Példa:
Példa (félig összekapcsolás s: R1—AR2):
3
4
5
7
8
9
A C
R2
A B
1
2
4
5
3 6
R1
1. hely 2. hely1
2
3
R1[A]
vetítésSzállít(3)
qsSzállít(2)
Szállít(6)3 7
R2’
redukál
Megtakarítás (s) = 6 -2 = 4Költség (s) = 3Költséghatékonyság D(s) = B(s)-C(s) >0
9
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 és Rj között az A mezőre így jelölhető:
RiARj = {Ri—ARj, Rj—ARi }
Így t redukálja Ri -t Rj -t Ri’ -re és Rj’ -re.
10
3.a.2 2-irányú félig összekapcsolás tulajdonságai. Kiszámítás lépései:
1) Küldjük Ri [A] -t az i. -ről a j. helyre ;
2) Redukáljuk Rj -t Rj’ -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] -t Ri [A]m –ekre (minden Rj [A]-ra) és Ri [A]nm(Ri [A]- Ri [A]m) ;
3) Küldjük min(Ri [A]m , Ri [A]nm) -t vissza az i. helyre ;
4) Redukáljuk Ri-t Ri ’-re Ri [A]m (vagy Ri [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), akkor
költséghatékony 2-irányú félig összekapcsolásnak nevezzük.
11
3.a.3 2-irányú félig összekapcsolás példa.
3
4
5
7
8
9
A C
R2
A B
1
2
4
5
3 6
R1
1. hely 2. hely
1
2
3
R1[A]
vetítés
Szállít(3)
3 6R1’
redukál
3
R1[A]m
1
2
R1[A]nm
partícionálás
3 7R2’
redukál
qs
Szállít(2)Szállít(2)
Szállít(1)
12
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é.
13
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 Rj hasí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 Rj rekordjait szűrjük a keresési szűrővel.
14
3.b.2 hasított félig összekapcsolás példa.
S# Name
1 Cindy
3 Jemal
4 Sunny
8 Maggie
S#(R1)
1
3
4
8
vetítés
10110001
B
H(x)=X
Hij((Ri))Bij
S# Phone
2 222
3 333
4 444
5 555
6 666
Szállít(Bij) Rj
R1
R2
redukál
3 3334 444
15
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
16
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.
17
3.c.2 Vízszintesen partícionált adatbázisrendszer.(Példa)
E-no E-name D-no
101 johnson 01
103 jordan 03
105 erving 01
109 jabbar 12
110 sampson 14
141 chang 16
EMPE-no E-name D-no
101 johnson 01
103 jordan 03
105 erving 01
E-no E-name D-no
109 jabbar 12
110 sampson 14
141 chang 16
EMP2: 11D-no 20
EMP1: 1D-no 10
18
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 és R2 közti összekapcsolás ekvivalens az R1 minden töredéke és R2 minden töredéke közti összekapcsolások uniójával.
Matematikailag:
(∪k R1k) ⋈[A=B] (∪m R2m)= ∪k,m(R1k ⋈[A=B] R2m)
19
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 az Ri ⋈[A=B] Rj összekapcsolást a töredezett Ri és Rj
relá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.
20
Példa:
E-no E-name D-no
101 johnson 01
103 jordan 03
135 erving 01
EMP1: 1D-no 10
EMP2: 11D-no 20
E-no Sal D-no
101 1000 12
102 2000 03
105 3000 11
E-no E-name D-no
109 jabbar 12
110 sampson 14
141 chang 16
sal: 101E-no 105
sal: 105E-no 110
E-no Sal D-no
107 1000 12
107 2000 03
110 3000 11
D-no
01
03
12
14
16
21
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 two az összekapcsolandó Ri és Rj tö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.
22
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.
23
3.d.2 Példa összetett félig öszekapcsolásra.
A1 A2 Nem ök. mező
1 aa -
1 bb -
2 cc -
3 cc -
A1 A2 Nem ök. mező
1 cc -
1 aa -
2 bb -
3 bb -
A1 A2 Nem ök. mező
1 aa -
R1 R2
Nincs Hamis ciklus!!
24
3.d.3 Félig összekapcsolás Vs Összetett félig összekapcsolás. Az összetett félig összekapcsolás egy
feldolgozó algoritmusban általában jelentős RT csökkenést eredményez.
Az összetett félig összekapcsolást nem mindig érdemes használni. Ha RT növekedést eredményez, akkor ne használjuk.
Az összetett félig összekapcsolásos stratégia legalább olyan jó, mint az összetett félig összekapcsolás nélküli.
25
Hivatkozások: 1. Using 2-way semijoin in distributed query processing. By Hyunchul
Kang and Nick Roussopoulos.
2. Improving distributed query processing by hash-semijoins. By Judy Tseng and Arbee Chen.
3. Domain Specific Semijoin:A new operation for distributed query processing. By Jason Chen and Victor Li.
4. Composite Semijoin in distributed query processing. By William Perrizio and Chun Chen
26
Megjegyzések ésKérdések??
Köszönöm!