1 / 30

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

Adatbázisrendszerek elméleti alapjai 9. előadás. Osztott adatbázisok. 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. Gyors ismétlés: teljes redukáló.

liang
Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Adatbázisrendszerek elméleti alapjai9. 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∩GF)(ABCD ⋈ BF)(AG∩GF ü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ámam1, 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

More Related