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.  Gyors ismétlés: teljes redukáló  Teljes redukáló költsége  Természetes összekapcsolások vetítése  Természetes összekapcsolások.

Hasonló előadás


Az előadások a következő témára: "Osztott adatbázisok.  Gyors ismétlés: teljes redukáló  Teljes redukáló költsége  Természetes összekapcsolások vetítése  Természetes összekapcsolások."— Előadás másolata:

1 Osztott adatbázisok

2  Gyors ismétlés: teljes redukáló  Teljes redukáló költsége  Természetes összekapcsolások vetítése  Természetes összekapcsolások vetítésének költsége 9. előadás2

3  Feladat: R 1, R 2, …, R k relációk redukáltjai (R 1, R 2, …, R k ) – re nézve ◦ R 1 :=  R 1 (R 1 ⋈ R 2 ⋈ … ⋈ R k ) ◦ R 2 :=  R 2 (R 1 ⋈ R 2 ⋈ … ⋈ R k ) ◦ … ◦ R k :=  R n (R 1 ⋈ R 2 ⋈ … ⋈ R k ) ◦ (  vetítés)  Teljes redukáló: ◦ Féligösszekapcsolásokkal (⋉, ⋊) operáló program ◦ Előállítja az előző redukáltakat 9. előadás3

4  Adottak: ◦ R 1, R 2, …, R k relációk ◦ R 1 ⋈ R 2 ⋈ … ⋈ R k –re füllevágások: G fix, aciklikus gráf (ciklikus NP nehéz)  Tudjuk: ◦ 2(k – 1) ⋉ lépés ◦ E fül F-re ◦ Első menetben: F := F ⋉ E =  F∩E (F) ◦ => küldött halmaz: ≤|E| ◦ Második menetben: előző menet részhalmazai ◦ => küldés halmaz : ≤|E| 9. előadás4

5  Átviteli költség ≤ 2 ⋅ I ◦ I: input méret: inputrelációk méretösszege  Fix költség: c 0 ⋅ 2 ⋅ (k - 1)  Helyi számítás költsége: ◦ ⋉ költsége legfeljebb ⋈ költsége ◦ T R = R táblája, n = T R + T S ◦ Nemindexelt joinra: ≤ n ⋅ log(n) ◦ Indexelt joinra: ≤ n ◦ 2 ⋅ (k - 1) db ⋉ ◦ összességében: O(k ⋅ I ⋅ log(I)) ◦ fix G esetén: O(I ⋅ log(I)) 9. előadás5

6  Kiszámoltuk a redukáltakat  Redukáltakat egy helyen összekapcsoljuk  Átviteli költség: ≤ I  Összekapcsolás költsége: ◦ U: R 1 ⋈ R 2 ⋈ … ⋈ R k sorainak száma ◦ Füllevágási sorrend: R 1, R 2, …, R k ◦ Összekapcsolások visszafelé: R i ⋈ (R i+1 ⋈ … ⋈ R k ) 9. előadás6

7  Összekapcsolás költsége (folytatás): ◦ Garantáljuk, hogy ⋉-nál minden sorhoz min. 1 sor kapcsolható ◦ Redukálásnál első menet után R k nem módosul ◦ =>|R k-1 ⋈ R k | ≤ U ◦ =>|R k | ≤ U ◦ Indukcióval: |R i | ≤ U|R i+1 ⋈ … ⋈ R k | ≤ U ◦ => T j ⋈ T j+1 költsége: O(U ⋅ log(U))  Teljes összekapcsolás költsége: O(k ⋅ U ⋅ log(U))  Tétel: Aciklikus k reláció összekapcsolási költsége ≤ O(k ⋅ (I ⋅ log(I) + U ⋅ log(U))) ≤ O(k ⋅ (I + U) 2 ) 9. előadás7

8  Fülletépések által készítjük el  E fül F alapján => F gyermeke E  Példa: 9. előadás8

9  Példa: 1. lépés: BF fül BCD-re nézve, levágjuk 9. előadás9

10  Példa: 2. lépés: ABC is fül BCD-re nézve, levágjuk 9. előadás10

11  Példa: 3. lépés: BF-et vagy ABC-t levágva már BCD fül CDE-re nézve 9. előadás11

12  Példa: 4. lépés: DEG mindvégig fül volt CDE-re nézve 9. előadás12

13  Példa: 5. lépés: CDE-t levágva kész a fa 9. előadás13

14  Adott: R 1, R 2, …, R k relációk, X attribútumhalmaz  Cél:  X (R 1 ⋈ R 2 ⋈ … ⋈ R k ) kiszámítása  Megjegyzések, ötletek: o Küldendő adatokat csökkenthetjük, ha csak a fontos attribútumokat küldjük (X attribútumai) o Az összekapcsolásokhoz még szükséges adatok is kellenek o Haladjunk az elemző fa mentén az összekapcsolásokkal o Ha már nem kell több összekapcsoláshoz egy attribútum, akkor hagyjuk el o Szükséges attribútomkhoz: elemző fa 9. előadás14

15  Teljes redukálóval redukáljuk R i -ket  Elemző fát készítsük el  Járjuk be a fát: o Lentről felfelé o Csúcs sorra kerül => minden gyereke sorra került o R fület levágjuk S miatt, akkor S :=  S∪(X∩R) (R ⋈ S)  Gyökérhez tartozó relációt vetítsük X-re az utolsó lépésnél: o P a gyökér o R az utolsó fül o P :=  X (  P∪(X∩R) (R ⋈ P)) o (Itt ∪, ∩ -t P, R attribútumaival csináljuk) 9. előadás15

16  Elemző fa példára:  AG (ABC ⋈ BF ⋈ BCD ⋈ CDE ⋈ DEG)  Teljesen redukált relációk: 9. előadás16

17  Elemző fa példára:  AG (ABC ⋈ BF ⋈ BCD ⋈ CDE ⋈ DEG)  ABC összekapcsolása BCD-vel: ABCD :=  BCD∪(AG∩ABC) (ABC ⋈ BCD) (BCD ∪(AG ∩ ABC) = ABCD) 9. előadás17

18  Elemző fa példára:  AG (ABC ⋈ BF ⋈ BCD ⋈ CDE ⋈ DEG)  BF összekapcsolása ABCD -fel: ABCD :=  ABCD∪(AG∩GF) (ABCD ⋈ BF) (AG∩GF üres, ilyen összekapcsolások kihagyhatók) 9. előadás18

19  Elemző fa példára:  AG (ABC ⋈ BF ⋈ BCD ⋈ CDE ⋈ DEG)  ABCD összekapcsolása CDE -vel: ACDE :=  CDE∪(AG∩ABCD) (ABCD ⋈ CDE) (CDE⋃(AG⋂ABCD) = ACDE) 9. előadás19

20  Elemző fa példára:  AG (ABC ⋈ BF ⋈ BCD ⋈ CDE ⋈ DEG)  DEG összekapcsolása ACDE-vel: ACDEG :=  ACDE∪(AG∩DEG) (DEG ⋈ ACDE) (ACDE⋃(AG⋂DEG) = ACDEG) 9. előadás20

21  Elemző fa példára:  AG (ABC ⋈ BF ⋈ BCD ⋈ CDE ⋈ DEG)  Végül vetítés: AG :=  AG ABCDEG 9. előadás21

22 Lemma: a 3. lépés sose készít 2 ⋅ I ⋅ U –nál nagyobb relációt Bizonyítás:  Adott: o S csúcs o X a vetítés attribútumai o C: S olyan gyereke, amiben már jártunk o S 1, S 2, …, S m : C-k leszármazottai o Y: S i -k X-beli attribútumai, amik nincsenek S-ben => Y = ∪ i (S i ∩ X) \ S, Y ⊆ X, Y ∩ S = ∅ o T := S ⋈ S 1 ⋈ … ⋈ S m 9. előadás22

23 Lemma: a 3. lépés sose készít 2 ⋅ I ⋅ U –nál nagyobb relációt Bizonyítás:  1. pont, ekkor: o S csúcs értékének alakja:  S∪Y (S ⋈ S 1 ⋈ … ⋈ S m ) (Biz.: csúcsok számával indukció) o Mivel Y ∩ S = ∅:  S∪Y T ⊆  S T ×  Y T o A 3. lépésben a relációk redukáltak:  S T = S o  S T mérete = S mérete ≤ I 9. előadás23

24 Lemma: a 3. lépés sose készít 2 ⋅ I ⋅ U –nál nagyobb relációt Bizonyítás:  2. pont,  Y T mérete ≤ I o  Y T =  Y (R 1 ⋈ R 2 ⋈ … ⋈ R k ) o R i relációk redukáltak o => T minden sora kapcsolható R i -k legalább egy sorához o Y ⊆ X =>  Y (R 1 ⋈ R 2 ⋈ … ⋈ R k ) mérete ≤ ≤  X (R 1 ⋈ R 2 ⋈ … ⋈ R k ) mérete = U 9. előadás24

25 Lemma: a 3. lépés sose készít 2 ⋅ I ⋅ U –nál nagyobb relációt Bizonyítás:  Összesítés: o  S∪Y T ⊆  S T ×  Y T o  S T mérete ≤ I,  Y T mérete ≤ U o Legyen t 1, t 2  S T és  Y T sorainak száma m 1, m 2  S T és  Y T rekordmérete o  S T ×  Y T mérete = t 1 ⋅ t 2 ⋅ (m 1 + m 2 ) ≤ ≤ 2 ⋅ (t 1 ⋅ m 1 ) ⋅ (t 2 ⋅ m 2 ) ≤ 2 ⋅ I ⋅ U 9. előadás25

26 Tétel: R 1, R 2, …, R k relációk, aciklikusak  X (R 1 ⋈ R 2 ⋈ … ⋈ R k ) átviteli költsége, futási ideje polinomiális I, U, k paraméterben (Itt: U = |  X (R 1 ⋈ R 2 ⋈ … ⋈ R k )|) Bizonyítás: Yannakakis algoritmus lépései Bizonyítás: Teljes redukáló alkalmazása  Átvitel költsége: O(I)  Kiszámítás költsége: O(k ⋅ (I ⋅ log(I) + U ⋅ log(U))) 9. előadás26

27 Tétel: R 1, R 2, …, R k relációk, aciklikusak  X (R 1 ⋈ R 2 ⋈ … ⋈ R k ) átviteli költsége, futási ideje polinomiális I, U, k paraméterben Bizonyítás: Teljes redukáló / elemző fa megtalálása  Átvitel költsége: nincs  Kiszámítás költsége: ≤ |hiperélek| ⋅ |csúcsok| o |hiperélek| = k o |csúcsok| ≤ I, ha nincs ürés él o Van üres él: O(k) alatt ellenőrizhető o => O(k ⋅ I), elhanyagolható az alkalmazása mellett 9. előadás27

28 Bizonyítás: Fa bejárása  Átvitel költsége: o k – 1 reláció továbbítása szülő felé o Előző lemma => minden reláció ≤ 2 ⋅ I ⋅ U o => O(k ⋅ I ⋅ U)  Kiszámítás költsége: o Rendezéses összekapcsolások o Egy összekapcsolás: O(I ⋅ U ⋅ log(I ⋅ U)) o => O(k ⋅ I ⋅ U ⋅ log(I ⋅ U)) 9. előadás28

29 Tétel: R 1, R 2, …, R k relációk, aciklikusak  X (R 1 ⋈ R 2 ⋈ … ⋈ R k ) átviteli költsége, futási ideje polinomiális I, U, k paraméterben Bizonyítás: X-re vetítés  Átvitel költsége: nincs  Kiszámítás költsége: O(I ⋅ U) 9. előadás29

30 Tétel: R 1, R 2, …, R k relációk, aciklikusak  X (R 1 ⋈ R 2 ⋈ … ⋈ R k ) átviteli költsége, futási ideje polinomiális I, U, k paraméterben Összefoglalás: domináló tagok  Átvitel költsége: Fa bejárása: O(k ⋅ I ⋅ U)  Kiszámítás költsége: Fa bejárása: O(k ⋅ I ⋅ U ⋅ log(I ⋅ U)) 9. előadás30


Letölteni ppt "Osztott adatbázisok.  Gyors ismétlés: teljes redukáló  Teljes redukáló költsége  Természetes összekapcsolások vetítése  Természetes összekapcsolások."

Hasonló előadás


Google Hirdetések