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

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

Nevezetes algoritmusok
Készítette: Mester Tamás METRABI.ELTE.  Adott egy G irányított vagy irányítás nélküli, véges gráf. Az eljárás célja a G gráf összes csúcsának bejárása.
Matematika II. 4. előadás Geodézia szakmérnöki szak 2010/2011. tanév Műszaki térinformatika ágazat tavaszi félév.
Minimális költségű feszítőfák
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Erősen összefüggő komponensek meghatározása
DAG topologikus rendezése
Szélességi bejárás Párhuzamosítása.
Gráf Szélességi bejárás
Készítette Schlezák Márton
Gráfok szélességi bejárása Algoritmus bemutatása egy gráfon példa.
Az összehasonlító rendezések
Minimax és problémaredukció, egyszerű példák INCK431 Előadó: Dr. Nagy Benedek Norbert Gyakorlatvezető: Kovács Zita 2011/2012. II. félév A MESTERSÉGES INTELLIGENCIA.
Ág és korlát algoritmus
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
AVL fák.
A digitális számítás elmélete
Számoljuk meg rekurzív függvénnyel egy bináris fa leveleit!
DAG topologikus rendezés
Prím algoritmus.
1 Györgyi Tamás – GYTNAAI.ELTE 2007 Április 03 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus Bellman-Ford Algoritmusa S a b d e
Master Informatique dr. Kiss AttilaXML adatbázisok strukturális indexelése XML adatbázisok strukturális indexelése (Structural indexes.
„Országos” feladat. Feladat: Egy tetszőleges, színes országokat tartalmazó térképen akar eljutni egy kommandós csapat egy országból egy másikba. Viszont.
Adatbázisrendszerek elméleti alapjai 7. előadás
Szélességi bejárás A szélességi bejárással egy irányított vagy irányítás nélküli véges gráfot járhatunk be a kezdőcsúcstól való távolságuk növekvő sorrendjében.
Készítette: Lakos Péter.  Adott egy irányított vagy irányítatlan, véges gráf.  Írjuk ki a csúcsokat egy kezdőcsúcstól való távolságuk növekvő sorrendjében.
Dijkstra-algoritmus ismertetése
Algoritmusok II. Gyakorlat 2. Feladat Pup Márton.
Dr. Krauszné Dr. Princz Mária Adatbázis rendszerek I.
Számpélda a földelt emitteres erősítőre RBB’≈0; B=100; g22=10S;
1 Mössbauer-spektrumok illesztése: vonalalak A kibocsátott  -sugárzás energiaspektruma Lorentz-görbe alakú: I : sugárzás intenzitása  : frekvencia 
Kötvényárazási hibák intelligens javítóalgoritmusának tervezése és fejlesztése GELLÉN ÁGNES IUFQ58.
Gráf szélességi bejárása SzB(G,p). Tetszőleges gráf, melyben a p csúcsot választottam kiindulónak: A gráfnak megfelelő fa:
Lagrange-interpoláció
Nevezetes algoritmusok: Fa megvalósítása Készítette: Várkonyi Tibor Zoltán.
1 Szélességi Bejárás Györgyi Tamás – GYTNAAI.ELTE 2007 Március 22 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus S b a d e f h g c.
Mélységi bejárás Az algoritmus elve: Egy kezdőpontból kiindulva addig megyünk egy él mentén, ameddig el nem jutunk egy olyan csúcsba, amelyből már nem.
Kruskal-algoritmus.
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.
Bellmann-Ford Algoritmus
Dodekaéder Hamilton köre
Minuet: A Scalable Distributed Multiversion B-Tree Írta: Benjamin Sowell, Wojciech Golab, Mehul A. Shah Feldolgozta: Fokin Miklós, Hodosy Gábor, Tóth Tamás.
Menetrend optimalizálása genetikus algoritmussal
1. feladat  Készíts olyan függvényt, mely paraméterül kapja két egész típusú változó címét, s hívása után a két változó értéke helyet cserél.
Adatbázisok használata
1 Például, hogyan, milyen procedúrával értékeljük ki az alábbi SQL (deklaratív) lekérdezést? Legyen adott R(A,B,C) és S(C,D,E). Melyek azok az R.B és S.D.
Diszjunkt halmazok adatszerkezete A diszjunkt halmaz adatszerkezet diszjunkt dinamikus halmazok S={S 1,…,S n } halmaza. Egy halmazt egy képviselője azonosít.
Gráf szélességi bejárása. A szélességi bejárás elmélete Célja egy véges gráf összes csúcsának bejárása a kezdőcsúcstól való távolságuk szerinti növekvő.
Algoritmusok és adatszerkezetek
Automatikus fizikai tervezési javaslatok XML adatbázisokhoz Balogh Bernadett Kresz Marcell Cseh Tamás.
Szélességi bejárás Gráf-algoritmusok Algoritmusok és adatszerkezetek II. Gergály Gábor WZBNCH1.
MÉLYSÉGI BEJÁRÁS FZGAF0 – PINTÉR LÁSZLÓ. ALGORITMUS ELMÉLETE Egy s kezdőpontból addig megyünk egy él mentén, ameddig el nem jutunk egy olyan csúcsba,
INFOÉRA Gráfok, gráfalgoritmusok II. (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Juhász István-Zsakó László: Informatikai.
Szélességi bejárás. Véges gráf összes csúcsának bejárása a kezdőcsúcstól való távolságuk szerinti növekvő sorrendben Egy csúcsot egyszer járunk be Egyenlő.
Dijkstra algoritmus. Az algoritmus működése  Kezdésnél a kezdő csúcson kívül minden csúcs távolsága legyen ∞, a kezdő csúcs távolsága 0.  Feltételes.
PhD beszámoló 2003/2004 I. félév Készítette: Iváncsy Renáta Konzulens: Dr. Vajk István.
LL(1)-elemzés ● az LL(1)-elemzők már jobbak az előzőeknél, bár nem fedik le a programozási nyelvek szükségleteit ● alapötlet: a levezetés következő lépéséhez.
Gráfok szélességi bejárása Dijkstra algoritmus
ABR ( Adatbázisrendszerek)
BFák Kiegyensúlyozott keresőfák
Piros-fekete fák Beszúrás, ill. törléskor a fa elveszítheti az egyensúlyát. A piros-fekete fák: az egyensúly megtartását biztosítják. +1 bit információ.
P és NP teljes problémák
Algebrai geometriai számítások
Gráfalgoritmusok G=(V,E) gráf ábrázolása
Gráfok - 1 Definíció: Irányított gráf (digráf) G=(V,E) rendezett pár.
Gráfalgoritmusok G=(V,E) gráf ábrázolása
Algoritmusok és Adatszerkezetek I.
Absztrakt problémák Q  I  S, az absztrakt probléma kétváltozós reláció az esetek (I) és a megoldások (S) halmazán Példa: legrövidebb út Eset: gráf és.
Adatbázisrendszerek elméleti alapjai 7. előadás
Előadás másolata:

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 9. előadás

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

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

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

Ö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

Ö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

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

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

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

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

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

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

Ö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

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

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

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

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

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

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

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

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

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

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

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

Ö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

Ö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

Ö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

Ö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

Ö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