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

Adatbázisrendszerek elméleti alapjai 9. előadás

Hasonló előadás


Az előadások a következő témára: "Adatbázisrendszerek elméleti alapjai 9. előadás"— Előadás másolata:

1 Adatbázisrendszerek elméleti alapjai 9. előadás
Osztott adatbázisok

2 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 vetítésének költsége 9. előadás

3 Gyors ismétlés: teljes redukáló
Feladat: R1, R2, …, Rk relációk redukáltjai (R1, R2, …, Rk) – re nézve R1 := R1(R1 ⋈ R2 ⋈ … ⋈ Rk) R2 := R2(R1 ⋈ R2 ⋈ … ⋈ Rk) Rk := Rn(R1 ⋈ R2 ⋈ … ⋈ Rk) ( vetítés) Teljes redukáló: Féligösszekapcsolásokkal (⋉, ⋊) operáló program Előállítja az előző redukáltakat 9. előadás

4 Teljes redukáló költsége
Adottak: R1, R2, …, Rk relációk R1 ⋈ R2 ⋈ … ⋈ Rk –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ás

5 Teljes redukáló költsége
Átviteli költség ≤ 2 ⋅ I I: input méret: inputrelációk méretösszege Fix költség: c0 ⋅ 2 ⋅ (k - 1) Helyi számítás költsége: ⋉ költsége legfeljebb ⋈ költsége TR = R táblája, n = TR + TS 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ás

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

7 Összekapcsolás költsége
Ö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 Rk nem módosul =>|Rk-1 ⋈ Rk| ≤ U =>|Rk| ≤ U Indukcióval: |Ri| ≤ U |Ri+1 ⋈ … ⋈ Rk | ≤ U => Tj ⋈ Tj+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ás

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

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

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

11 Elemző fa 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ás

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

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

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

15 Yannakakis algoritmus
Teljes redukálóval redukáljuk Ri-ket Elemző fát készítsük el Járjuk be a fát: Lentről felfelé Csúcs sorra kerül => minden gyereke sorra került 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: P a gyökér R az utolsó fül P := X(P∪(X∩R)(R ⋈ P)) (Itt ∪, ∩ -t P, R attribútumaival csináljuk) 9. előadás

16 Yannakakis algoritmus futásra példa
Elemző fa példára: AG(ABC ⋈ BF ⋈ BCD ⋈ CDE ⋈ DEG) Teljesen redukált relációk: 9. előadás

17 Yannakakis algoritmus futásra példa
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ás

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

19 Yannakakis algoritmus futásra példa
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ás

20 Yannakakis algoritmus futásra példa
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ás

21 Yannakakis algoritmus futásra példa
Elemző fa példára: AG(ABC ⋈ BF ⋈ BCD ⋈ CDE ⋈ DEG) Végül vetítés: AG := AGABCDEG 9. előadás

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

23 3. lépés output mérete 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: S csúcs értékének alakja: S∪Y(S ⋈ S1 ⋈ … ⋈ Sm) (Biz.: csúcsok számával indukció) Mivel Y ∩ S = ∅: S∪YT ⊆ ST × YT A 3. lépésben a relációk redukáltak: ST = S ST mérete = S mérete ≤ I 9. előadás

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

25 3. lépés output mérete 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: S∪YT ⊆ ST × YT ST mérete ≤ I, YT mérete ≤ U Legyen t1, t2 ST és YT sorainak száma m1, m2 ST és YT rekordmérete ST × YT mérete = t1 ⋅ t2 ⋅ (m1 + m2) ≤ ≤ 2 ⋅ (t1 ⋅ m1) ⋅ (t2 ⋅ m2) ≤ 2 ⋅ I ⋅ U 9. előadás

26 Összekapcsolások vetítésének költsége
Tétel: R1, R2, … , Rk relációk, aciklikusak X(R1 ⋈ R2 ⋈ … ⋈ Rk) átviteli költsége, futási ideje polinomiális I, U, k paraméterben (Itt: U = |X(R1 ⋈ R2 ⋈ … ⋈ Rk)|) 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ás

27 Összekapcsolások vetítésének költsége
Tétel: R1, R2, … , Rk relációk, aciklikusak X(R1 ⋈ R2 ⋈ … ⋈ Rk) á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| |hiperélek| = k |csúcsok| ≤ I, ha nincs ürés él Van üres él: O(k) alatt ellenőrizhető => O(k ⋅ I), elhanyagolható az alkalmazása mellett 9. előadás

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

29 Összekapcsolások vetítésének költsége
Tétel: R1, R2, … , Rk relációk, aciklikusak X(R1 ⋈ R2 ⋈ … ⋈ Rk) á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ás

30 Összekapcsolások vetítésének költsége
Tétel: R1, R2, … , Rk relációk, aciklikusak X(R1 ⋈ R2 ⋈ … ⋈ Rk) á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ás


Letölteni ppt "Adatbázisrendszerek elméleti alapjai 9. előadás"

Hasonló előadás


Google Hirdetések