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

Preview:

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!

Recommended