26
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

Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

  • 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

Page 1: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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

Page 2: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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.

Page 3: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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.

Page 4: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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.

Page 5: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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.

Page 6: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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).

Page 7: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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

Page 8: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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

Page 9: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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.

Page 10: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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.

Page 11: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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)

Page 12: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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é.

Page 13: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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.

Page 14: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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

Page 15: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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

Page 16: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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.

Page 17: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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

Page 18: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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)

Page 19: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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.

Page 20: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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

Page 21: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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.

Page 22: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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.

Page 23: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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!!

Page 24: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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.

Page 25: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

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

Page 26: Lekérdezések elosztott feldolgozása különböző félig összekapcsolási műveletekkel

26

Megjegyzések ésKérdések??

Köszönöm!