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

Master Informatique 20 10. 01. 07. 1 dr. Kiss AttilaXML adatbázisok strukturális indexelése XML adatbázisok strukturális indexelése (Structural indexes.

Hasonló előadás


Az előadások a következő témára: "Master Informatique 20 10. 01. 07. 1 dr. Kiss AttilaXML adatbázisok strukturális indexelése XML adatbázisok strukturális indexelése (Structural indexes."— Előadás másolata:

1 Master Informatique 20 10. 01. 07. 1 dr. Kiss AttilaXML adatbázisok strukturális indexelése XML adatbázisok strukturális indexelése (Structural indexes of XML Databases) dr. Kiss Attila kiss@inf.elte.hu

2 Master Informatique 20 10. 01. 07. 2 dr. Kiss AttilaXML adatbázisok strukturális indexelése Az előadás vázlata 1.Motiváció: XML alapú virtuális obszervatóriumok 2.XML dokumentumok lekérdezéseinek kiértékelése 3.XML dokumentumok indexelése 4.Strukturális indexek 5.Strukturális indexek alkalmazása osztott XML dokumentumok esetén 6.XML adatbázisokkal kapcsolatos további kutatási feladatok 7.Összefoglalás

3 Master Informatique 20 10. 01. 07. 3 dr. Kiss AttilaXML adatbázisok strukturális indexelése 1.Motiváció: XML alapú virtuális obszervatóriumok 2.XML dokumentumok lekérdezéseinek kiértékelése 3.XML dokumentumok indexelése 4.Strukturális indexek 5.Strukturális indexek alkalmazása osztott XML dokumentumok esetén 6.XML adatbázisokkal kapcsolatos további kutatási feladatok 7.Összefoglalás

4 Master Informatique 20 10. 01. 07. 4 dr. Kiss AttilaXML adatbázisok strukturális indexelése Nagy tudományos adatbázisok Nagyon nagy adathalmazokat elsősorban mérőműszerek állítanak elő: –Szenzorok –Teleszkópok –Részecskegyorsítók –Génlapok

5 Master Informatique 20 10. 01. 07. 5 dr. Kiss AttilaXML adatbázisok strukturális indexelése Virtuális obszervatóriumok A tudományos közösségek felismerték, hogy együtt hatékonyabban tudják feldolgozni, elemezni az adathalmazokat. Ha csatlakoznak egy Virtuális Obszervatórium- hoz, akkor –megoszthatják az adataikat, feldolgozási eljárásaikat, eredményeiket és –hozzáférhetnek mások adataihoz, eljárásaihoz, eredményeihez.

6 Master Informatique 20 10. 01. 07. 6 dr. Kiss AttilaXML adatbázisok strukturális indexelése A virtuális obszervatórium feladatai Osztott XML adatbázisok: Több terabájtnyi speciális formátumú (elsősorban XML) adat osztott tárolása hatékony struktúrában. Hatékonyság: Az adatok gyors eléréséhez lekérdezőnyelvek, valamint olyan struktúrák definiálása, amelyek segítségével a lekérdező nyelven megfogalmazott kérdéseket gyorsan ki lehet értékelni. XML alapú adatcsere: Több felhasználó kezelése, felhasználókhoz tartozó virtuális adatbázisok kezelése, eredmények, eljárások nyilvánossá tétele. Adatintegráció: Az adatelemzéshez szükséges adattárház építése, előfeldolgozás. Adatbányászat: Hatékony, lehetőség szerint GRID alapú osztott adatbányászati módszerek beépítése. Vizualizáció: Az elemzések eredményeinek vizualizációja.

7 Master Informatique 20 10. 01. 07. 7 dr. Kiss AttilaXML adatbázisok strukturális indexelése Az International Virtual Observatory Alliance architektúrája Forrás: http://www.ivoa.net/http://www.ivoa.net/

8 Master Informatique 20 10. 01. 07. 8 dr. Kiss AttilaXML adatbázisok strukturális indexelése NCBI GEO virtuális obszervatórium Génlap kísérletek nyilvános adatai XML dokumentumokban Kb. 600 gigabájt (2009. február) Egy génlap kísérlet leírása XML fájlban, és a neki megfelelő XML gráf.

9 Master Informatique 20 10. 01. 07. 9 dr. Kiss AttilaXML adatbázisok strukturális indexelése A feladat megfogalmazása A következő feladatot vizsgáljuk: –Nagy méretű (osztott) XML adatbázisok gyors lekérdezése Két lehetséges út: 1.Az XML adatbázist relációs adatbázisban tároljuk, az XML lekérdezést SQL lekérdezéssé transzformáljuk, majd az eredményt visszaalakítjuk. 2.Az XML adatbázishoz indexeket készítünk, és az eredeti lekérdezést az indexek segítségével számoljuk ki.

10 Master Informatique 20 10. 01. 07. 10 dr. Kiss AttilaXML adatbázisok strukturális indexelése 1.Motiváció: XML alapú virtuális obszervatóriumok 2.XML dokumentumok lekérdezéseinek kiértékelése 3.XML dokumentumok indexelése 4.Strukturális indexek 5.Strukturális indexek alkalmazása osztott XML dokumentumok esetén 6.XML adatbázisokkal kapcsolatos további kutatási feladatok 7.Összefoglalás

11 Master Informatique 20 10. 01. 07. 11 dr. Kiss AttilaXML adatbázisok strukturális indexelése Az XML dokumentumnak megfelelő adatgráf Az adatgráf egy irányított, gyökeres, címkézett gráf. : az adatcsúcsok halmaza. : véges, nem üres ábécé, (az elemnevek, attribútumnevek halmaza). : az élek halmaza : alapélek. : referenciaélek. : a gráf egyetlen gyökere. : címkéző függvény

12 Master Informatique 20 10. 01. 07. 12 dr. Kiss AttilaXML adatbázisok strukturális indexelése Publikációk XML dokumentumban John ABC Dr.Ben Tom … Dr. Kiss DEF Dr. Baker XYZ

13 Master Informatique 20 10. 01. 07. 13 dr. Kiss AttilaXML adatbázisok strukturális indexelése Az XML adatgráf

14 Master Informatique 20 10. 01. 07. 14 dr. Kiss AttilaXML adatbázisok strukturális indexelése Reguláris lekérdezések Az XML-nek számos lekérdező nyelve létezik. –XQuery, XPath, UnQL, Lorel, XQL, XML-QL, stb. Ezek mindegyike a reguláris (ösvény)kifejezéseken alapul. 3 művelet használható: –Konkatenáció:. vagy / –Unió: | –Iteráció: * Rövidítések: _ - az ábécé tetszőleges eleme // - (_)* Például: //(Student | Professor)//Paper/Title

15 Master Informatique 20 10. 01. 07. 15 dr. Kiss AttilaXML adatbázisok strukturális indexelése Reguláris lekérdezések Egy (u, v) csúcspár illeszkedik az R reguláris lekérdezésre, ha van olyan út u-ból v-be, amely címkesorozata illeszkedik a reguláris kifejezésre. Az R lekérdezés eredménye: I inputhalmaz és O outputhalmaz esetén, ahol (u, v) csúcspár illeszkedik az R reguláris lekérdezésre} Általában: I={gyökér} és O={V}. Minden R reguláris kifejezéshez megadható egy véges, nem determinisztikus automata (NFA), amely az L(R) nyelvet ismeri fel. Ennek állapotátmenet gráfja az R lekérdezés gráfja.

16 Master Informatique 20 10. 01. 07. 16 dr. Kiss AttilaXML adatbázisok strukturális indexelése A lekérdezés kiértékelése az automata alapján //B/D lekérdezés gráfja: Input: I={0}; Output: O={0,1,…,15} A A B 0 1 8 CB26 AD913 A D BE 3 10 7 14 D CA F 4 5 1211E 15 * BD q0q0 q1q1 q2q2 q0q0 q0q0 q0q0 q0q0 q0q0 q 0 q 2 q1q1 q0q0 Folytatva a bejárást az eredmény = {(0,3),(0,11),(0,13)}

17 Master Informatique 20 10. 01. 07. 17 dr. Kiss AttilaXML adatbázisok strukturális indexelése Áttérés élcímkézett gráfokra Csúcscímkézett gráfA megfelelő élcímkézett gráf A lekérdezés gráfja élcímkézett, ezért az adatgráfot is élcímkézetté alakítjuk.

18 Master Informatique 20 10. 01. 07. 18 dr. Kiss AttilaXML adatbázisok strukturális indexelése SD-gráf A reguláris kifejezésre illeszkedést visszavezetjük egyszerű elérhetőségre. A lekérdezés gráfját összekapcsolva az adatgráffal kapjuk az SD- (state-data) gráfot. Az SD gráf nem feltétlen összefüggő. Csúcsai: (adatcsúcs, állapot) párok Címkézett élei: ha egy adott állapotban egy adott csúcsban vagyunk, akkor adott címkéjű adat élen melyik csúcsba, milyen állapotba jutunk.

19 Master Informatique 20 10. 01. 07. 19 dr. Kiss AttilaXML adatbázisok strukturális indexelése Az R:= a/(b|c)*/a és egy adatgráf SD-gráfja s0s0 s1s1 s2s2 a b c a Lekérdezés gráfja: Adatgráf: 5 4 3 2 1 a c a a b SD-gráf: 1,s 0 2,s 0 2,s 1 1,s 1 2,s 2 a b 3,s 1 c 4,s 2 a 5,s 2 a 5,s 1 a a 3,s 0 4,s 1 Eredmény: (1,4), (1,5) a Az SD-gráfban kezdő állapotból végállapotba hová lehet eljutni?

20 Master Informatique 20 10. 01. 07. 20 dr. Kiss AttilaXML adatbázisok strukturális indexelése SD-gráf reprezentálása relációs adatbázisban [Kiss05] Tulajdonságok: –Az adatgráfot és a lekérdezés gráfját relációkkal reprezentálva az SD gráfnak megfelelő reláció a két reláció összekapcsolása. –A lekérdezés elérhetőséget jelent az SD-gráfban. –Az elérhetőség rekurzív, negációt nem tartalmazó DATALOG programmal adható meg a reprezentáló relációkra nézve. –A Datalog program rekurzív SQL utasításra írható át. –Az SQL kiértékelését a relációkra vonatkozó indexeléssel gyorsíthatjuk.

21 Master Informatique 20 10. 01. 07. 21 dr. Kiss AttilaXML adatbázisok strukturális indexelése 1. lépés: Az adatgráf átírása élcímkézett gráfra

22 Master Informatique 20 10. 01. 07. 22 dr. Kiss AttilaXML adatbázisok strukturális indexelése 2. lépés: A lekérdezés gráfjának megadása

23 Master Informatique 20 10. 01. 07. 23 dr. Kiss AttilaXML adatbázisok strukturális indexelése 3. lépés: Felírjuk a DATALOG, illetve SQL lekérdezést

24 Master Informatique 20 10. 01. 07. 24 dr. Kiss AttilaXML adatbázisok strukturális indexelése 4. lépés: Előállítjuk a reprezentáló relációkat, és kiszámítjuk az SQL lekérdezést Az eredmény: {4,5,6}

25 Master Informatique 20 10. 01. 07. 25 dr. Kiss AttilaXML adatbázisok strukturális indexelése 1.Motiváció: XML alapú virtuális obszervatóriumok 2.XML dokumentumok lekérdezéseinek kiértékelése 3.XML dokumentumok indexelése 4.Strukturális indexek 5.Strukturális indexek alkalmazása osztott XML dokumentumok esetén 6.XML adatbázisokkal kapcsolatos további kutatási feladatok 7.Összefoglalás

26 Master Informatique 20 10. 01. 07. 26 dr. Kiss AttilaXML adatbázisok strukturális indexelése Az XML indexeléseinek osztályozása 1.Értékek indexelése –az atomi értékeket (például: data(//emp/salary)) indexeljük –általában B + -fákat használunk 2.Szöveges indexelés –az XML dokumentumot közönséges szöveges állománynak tekintjük –a kulcsszavak keresése invertált indexekkel segíthető 3.Strukturális címkézés (számozási sémák) –az előd/utód reláció gyors eldöntésére szolgál 4.Strukturális indexek –materializálja adott típusú ösvénykifejezések eredményeit

27 Master Informatique 20 10. 01. 07. 27 dr. Kiss AttilaXML adatbázisok strukturális indexelése XML-fák pre/post számozása [Dietz82] A fa preorder/postorder bejárása alapján a (pre(x),post(x)) számpárt rendeljük az x csúcshoz, attól függően, hogy hányadik a bejárási sorrendben. Például: 1 3 => (1,7)-nek utódja az (5,3) (1,7) (2,4) (3,1) (4,2) (5,3) (6,6) (7,5) x-nek y az utódja pre(x) < pre(y) és post(x) > post(y)

28 Master Informatique 20 10. 01. 07. 28 dr. Kiss AttilaXML adatbázisok strukturális indexelése Intervallum kódolás [Li&Moon VLDB 2001] Minden x csúcshoz tartozzon egy (order(x), size(x)) számpár, az alábbi tulajdonságokkal: Ha x-nek y a gyereke, akkor –order(x) < order(y) –order(y)+size(y) =< order(x) + size(x) Ha a preorder sorrend szerint x megelőzi az y testvérét, akkor –order(x) + size(x) < order(y) (1,100) (10,30) (11,5) (17,5) (25,5) (41,10) (45,5) x-nek y az utódja order(x) < order(y) és order(y) <= order(y) + size(x)

29 Master Informatique 20 10. 01. 07. 29 dr. Kiss AttilaXML adatbázisok strukturális indexelése 1.Motiváció: XML alapú virtuális obszervatóriumok 2.XML dokumentumok lekérdezéseinek kiértékelése 3.XML dokumentumok indexelése 4.Strukturális indexek 5.Strukturális indexek alkalmazása osztott XML dokumentumok esetén 6.XML adatbázisokkal kapcsolatos további kutatási feladatok 7.Összefoglalás

30 Master Informatique 20 10. 01. 07. 30 dr. Kiss AttilaXML adatbázisok strukturális indexelése A strukturális indexelési technikák megjelenése

31 Master Informatique 20 10. 01. 07. 31 dr. Kiss AttilaXML adatbázisok strukturális indexelése A DG-index (DataGuide) [ Goldman & Widom VLDB 97] Legyen egy XML dokumentum gráfja DB. A DB gráf DG-indexe (Adatvezető indexe) egy olyan G gráf, melyre a következők teljesülnek: –A DB minden címke útvonala szerepel G-ben is. G lefedi DB-t –A G minden címke útvonala szerepel DB-ben is. G pontosan DB-t fedi le. –A G minden címke útvonala egyedi egy adott csúcsból kiindulva.

32 Master Informatique 20 10. 01. 07. 32 dr. Kiss AttilaXML adatbázisok strukturális indexelése A DG-index nem egyértelmű A DG-index tömörebben (kisebb gráfon) tárolja a kiolvasható címke útvonalakat. A G1 és G2 is DG-indexe a DB-nek. C D C D C D A B B C D C D AB C D AB DB G1 G2

33 Master Informatique 20 10. 01. 07. 33 dr. Kiss AttilaXML adatbázisok strukturális indexelése Erős DG-index Legyen p, p’ két címke útvonal és G egy gráf. Legyen p ≡ G p’, ha p(G) = p’(G) –vagyis p és p’ nem különböztethető meg a G gráfon. G a DB erős DG-indexe, ha ≡ G és ≡ DB ekvivalenciarelációk megegyeznek. Például: G1 erős; G2 nem erős A.C(DB) = { 5 }, B.C(DB) = { 6, 7 } A.C(G2) = { 20 }, B.C(G2) = { 20 } DB G1 G2

34 Master Informatique 20 10. 01. 07. 34 dr. Kiss AttilaXML adatbázisok strukturális indexelése Naiv index Definiáljunk egy ≡ ekvivalenciarelációt a DB gráf csúcsain: –u≡v ha u és v ugyanazokkal a címke útvonalakkal érhetők el a gyökérből. (Az u és v megkülönböztethetetlen csúcsok.) A Naiv index is egy gráf: –Az indexcsúcsok az ekvivalenciaosztályok. –Létezik indexél s-ből s’-be, ha a DB-ben létezik él az s egy adatcsúcsából az s’ egy adatcsúcsába. –Egy osztályban csak azonos címkéjű adatcsúcsok lehetnek. Ez a címke lesz az indexcsúcs címkéje. Tulajdonság: –biztonságos és pontos a reguláris kifejezésekre: azaz tetszőleges R reguláris lekérdezést az indexen kiértékelve ugyanazt kapjuk, mint ha az adatgráfon értékeltük volna ki, és ez fordítva is igaz. Probléma: költséges az előállítása (PSPACE-complete)

35 Master Informatique 20 10. 01. 07. 35 dr. Kiss AttilaXML adatbázisok strukturális indexelése 1-index [Milo & Suciu, LNCS 1997] ÖtIet: használjunk biszimuláció ekvivalenciarelációt a megkülönböztet- hetetlenségi ≡ ekvivalencia helyett. Erősebb lesz a feltétel  finomabb osztályozást kapunk  több indexcsúcs lesz. Biztonságos és pontos indexet kapunk. A biszimulációt könnyebb kiszámolni (PTIME).

36 Master Informatique 20 10. 01. 07. 36 dr. Kiss AttilaXML adatbázisok strukturális indexelése Biszimuláció A  biszimuláció a csúcsokon értelmezett ekvivalenciareláció: x1  x2, ha –x1 és x2 címkéje megegyezik –ha x1  x2 és létezik y1-ből él x1-be, akkor létezik egy olyan y2-ből él x2-be, melyre y1  y2, és ez fordítva is igaz. y1y1y2y2 a  x1x1 a  x2x2 b b

37 Master Informatique 20 10. 01. 07. 37 dr. Kiss AttilaXML adatbázisok strukturális indexelése 1-index Az u és v csúcsok biszimulánsak (u ≈ b v), ha valamilyen biszimuláció szerint egy osztályba tartoznak. Tulajdonság (Az 1-index a naiv index finomítása): u ≈ b v ⇒ u ≡ v Az 1-index a ≈ b ekvivalenciarelációnak megfelelő osztályozása a csúcsoknak.

38 Master Informatique 20 10. 01. 07. 38 dr. Kiss AttilaXML adatbázisok strukturális indexelése A biszimuláció kiszámítása Az üres halmaz biszimuláció. Ha R, R’ két biszimuláció, akkor R U R’ is biszimuláció. Mindig létezik maximális biszmuláció. A maximális biszimuláció kiszámítása: –R := G csúcsaiból alkotott párok halmaza –ha van olyan (x1, x2) ∈ R, ami megsérti a definíciót, akkor dobjuk ki (x1, x2)-t az R-ből –Álljunk meg, ha már nincs mit kidobni. A futási idő O(mn), ahol m az élek, n a csúcsok száma. –Javítani lehet a PT-algoritmussal: O((m+n)log(m+n)) [Paige &Tarjan 87]

39 Master Informatique 20 10. 01. 07. 39 dr. Kiss AttilaXML adatbázisok strukturális indexelése Példa 1-indexre 1 paper 2,4,8,13 section 3,5,9,14 title 6,10 algorithm 7 proof 11 proof 12 uses 15,16 17,18 about exp 1-index 1 paper 4 section 5 title 6 algorithm 7 proof 8 section 9 title 10 11 proof 12 uses algorithm 13 section 14 15 16 17 18 about title 2 section 3 title exp Adatgráf /paper/section/algorithm

40 Master Informatique 20 10. 01. 07. 40 dr. Kiss AttilaXML adatbázisok strukturális indexelése 1-index Ha a gráf fa, akkor az –1-index, naiv index, erős DG-index megegyezik Az 1-index a stabilitás fogalmával is definiálható. –Egy indexcsúcs stabil, ha az adatcsúcsaihoz ugyanazok a szülő indexcsúcsok tartoznak. –Az 1-index minden indexcsúcsa stabil. v I[v] u I[u] v’v’ u’u’ I[u’] I[v’] =

41 Master Informatique 20 10. 01. 07. 41 dr. Kiss AttilaXML adatbázisok strukturális indexelése Mire legyen pontos az index? Előny: Az 1-index tetszőleges reguláris kifejezésre nézve pontos. Hátrány: Emiatt túl nagy az indexgráf. Ötlet: Válasszuk ki, hogy milyen lekérdezéshalmazra legyen pontos az index. A halmazhoz nem tartozó lekérdezéseket is az indexen értékeljük ki: –A biztonságosság garantálja, hogy minden megoldást megkapunk, –a pontosság hiánya miatt hamis adatcsúcsokat is kaphatunk, amiket még ellenőrizni kell.

42 Master Informatique 20 10. 01. 07. 42 dr. Kiss AttilaXML adatbázisok strukturális indexelése Lekérdezéshalmazokhoz készített pontos indexek Fontosabb lekérdezéshalmazok: –//a0/a1/…/ai (i<=k) alakú, legfeljebb k-hosszú lekérdezések A(k)-index –Gyakori lekérdezések (dinamikus indexek) APEX, D(k)-index –//S0/S1/…/Sk alakú, alternatív (SAPE) lekérdezések, ahol Si címkehalmazt jelöl DL-1, DL-A*(k)-index –Előre-hátra lekérdezések (Például parent és child tengely is szerepel.) F&B-index

43 Master Informatique 20 10. 01. 07. 43 dr. Kiss AttilaXML adatbázisok strukturális indexelése A(k)-Index [Kaushik et al. 02] A //a0/a1/…/ai (i<=k) alakú lekérdezésekre pontos Az ekivalenciát a k-biszimuláció határozza meg. A  k (k-biszimuláció) rekurzív definíciója: –Az u és v csúcsra u  0 v, ha u és v címkéje megegyezik, –u  k v ha u  k-1 v és ha u’-ből van él u-ba, akkor létezik olyan v’, amelyből van él v-be és u’  k-1 v’ ha v’-ből van él v-be, akkor létezik olyan u’, amelyből van él u-ba és u’  k-1 v’.

44 Master Informatique 20 10. 01. 07. 44 dr. Kiss AttilaXML adatbázisok strukturális indexelése A(k)-index Egyre jobban finomodó (<) indexeket kapunk: –A(0) a címkék szerinti ekvivalencia –A(0)<A(1)<A(2)<…<A(k) = 1-index elég nagy k-ra. Stabilitással is definiálható, ezért a PT-algoritmussal számolható ki. Egy indexcsúcs stabil az A(k)-indexben, ha minden adatcsúcsának ugyanazok az indexszülői az A(k-1)-indexben. imdb movie director name tv director name {1} {2} {3} {4} {5} {6,8} {7,9} A(2)-index (1-index) 1 2 3 4 5 6 7 8 9 imdb movie director name tv director name director name Adatgráf imdb movie tv director name {1} {2} {5} {3,6,8} {4,7,9} A(0)-index imdb movie director tv director name {1} {2} {3} {5} {6,8} {4,7,9} A(1)-index

45 Master Informatique 20 10. 01. 07. 45 dr. Kiss AttilaXML adatbázisok strukturális indexelése Hasítás (Split) művelet R AB C3 C6 C1C2 C4C5 R AB C2,C3C1 C4C5,C6 R AB C2,C3C1 C4,C5,C6 R AB C1,C2,C3 C4,C5,C6 Adatgráf A(2) (=1-index) A(1) A(0) Az algoritmusok hasítási műveletet használnak: - ha egy osztály nem stabil, akkor kettévágjuk, úgy hogy stabil legyen

46 Master Informatique 20 10. 01. 07. 46 dr. Kiss AttilaXML adatbázisok strukturális indexelése Finomítási sorozat (1. lépés) R AB C3 C6 C1C2 C4C5 R AB C2,C3C1 C4C5,C6 R AB C2,C3C1 C4,C5,C6 R AB C1,C2,C3 C4,C5,C6 Adatgráf A(2) (=1-index) A(1) A(0)

47 Master Informatique 20 10. 01. 07. 47 dr. Kiss AttilaXML adatbázisok strukturális indexelése Finomítási sorozat (2. lépés) R AB C3 C6 C1C2 C4C5 R AB C2,C3C1 C4C5,C6 R AB C2,C3C1 C4,C5,C6 R AB C1,C2,C3 C4,C5,C6 Adatgráf A(2) (=1-index) A(1) A(0)

48 Master Informatique 20 10. 01. 07. 48 dr. Kiss AttilaXML adatbázisok strukturális indexelése APEX [Chung et al., SIGMOD 2002] APEX: Adaptive Path IndEx for XML Data A címke szerinti osztályozásból, az A(0)-indexből indul ki. A gyakori lekérdezéseket figyelembe csak azokat az osztályokat hasítja ketté, amelyek a gyakori lekérdezések megválaszolásához szükségesek. (A gyakori lekérdezésekre pontos index.) Az indexcsúcsokat Hash-táblában tartja nyilván, amit hasításkor módosít.

49 Master Informatique 20 10. 01. 07. 49 dr. Kiss AttilaXML adatbázisok strukturális indexelése APEX index készítése root publications author editor book name title book title 0 1 2 3 4 5 6 7 8 9 10 11 12 13

50 Master Informatique 20 10. 01. 07. 50 dr. Kiss AttilaXML adatbázisok strukturális indexelése root publications author editor book name title book title 0 1 2 3 4 5 6 7 8 9 10 11 12 13 1a: Az azonos címkéjű csúcsokat összevonjuk. 1. lépés: Címke szerinti osztályozás

51 Master Informatique 20 10. 01. 07. 51 dr. Kiss AttilaXML adatbázisok strukturális indexelése name book editorauthor root publications title 1b: Hozzáadjuk az osztályok közti éleket fordított sorrendben. 1. lépés: Címke szerinti osztályozás

52 Master Informatique 20 10. 01. 07. 52 dr. Kiss AttilaXML adatbázisok strukturális indexelése name book editorauthor root publications title 1c: Letároljuk, hogy az osztályokhoz milyen adatcsúcsok tartoznak adatcsúcsok: 3,5,7,11 1. lépés: Címke szerinti osztályozás

53 Master Informatique 20 10. 01. 07. 53 dr. Kiss AttilaXML adatbázisok strukturális indexelése name book editorauthor root publications title 1d: Letároljuk, hogy az indexélek milyen adatéleknek felelnek meg. adatélek: (2,3) (4,5) 1. lépés: Címke szerinti osztályozás

54 Master Informatique 20 10. 01. 07. 54 dr. Kiss AttilaXML adatbázisok strukturális indexelése name book editorauthor root publications title 1e: Az indexcsúcsokhoz készítünk egy Hash indexet. Index: author book editor name publ. title 1. lépés: Címke szerinti osztályozás

55 Master Informatique 20 10. 01. 07. 55 dr. Kiss AttilaXML adatbázisok strukturális indexelése 2. lépés: Keresés az index alapján //name : a “name“ indexcsúcsból kiolvassuk az adatcsúcsokat //author/name : a “name“ indexcsúcsból azokat az adatcsúcsokat választjuk ki, amelyekhez van adatél az “author“ indexcsúcs adatcsúcsaihoz Ha ez gyakori feladat, akkor ezt a kiválasztást már előre elvégezhetjük, azaz –kettévágjuk a “name“ indexcsúcsot és –a Hash-indexet is frissítjük.

56 Master Informatique 20 10. 01. 07. 56 dr. Kiss AttilaXML adatbázisok strukturális indexelése name book editorauthor 3. lépés: Az index frissítése a gyakori lekérdezések alapján root publications title name adatcsúcsok: 3,5 adatcsúcsok: 7,11 Index: … name … author other //author/name

57 Master Informatique 20 10. 01. 07. 57 dr. Kiss AttilaXML adatbázisok strukturális indexelése name book editorauthor root publications title name //book/author/name name adatcsúcsok: 3 adatcsúcsok: 5 adatcsúcsok: 7,11 Index: … name … author other book other 3. lépés: Az index frissítése a gyakori lekérdezések alapján

58 Master Informatique 20 10. 01. 07. 58 dr. Kiss AttilaXML adatbázisok strukturális indexelése DL-1-index [Kiss06] Az //S0/S1/…/Sk alakú alternatív lekérdezésekre (SAPE = Simple Alternation Path Expression) pontos index. Dinamikus index (Dynamic labelling): előre adott véges sok SAPE lekérdezéshez igazítja az A(0)- indexet.

59 Master Informatique 20 10. 01. 07. 59 dr. Kiss AttilaXML adatbázisok strukturális indexelése A //(d|e)/f SAPE lekérdezés 0 12 645 3 78 910111213 a bb d c de f e f f f d g Adatgráf A lekérdezés: //(d|e)/f R := S 0 / S 1, ahol S 0 = { d,e } ; S 1 = { f } A (4,9), (5,10), (6,11) és (7,12) utak illeszkednek az R-re. A lekérdezés eredménye: T G (R) = {9,10,11,12}

60 Master Informatique 20 10. 01. 07. 60 dr. Kiss AttilaXML adatbázisok strukturális indexelése Matematikai előkészítés u csúcs gyerekei: –Succ(u):={ v | u-ból létezik él v-be} H halmaz gyerekei: –Succ(H):= ∪ Succ(u) C halmazrendszer gyerekei: –Succ(C):={ Succ(H) | H ∈ C } CRF(C) a C halmazrendszer legdurvább finomítása (=C, ha C egy partíció) u ∈ H A továbbiakban minden halmazról, gráfról feltesszük a végességet.

61 Master Informatique 20 10. 01. 07. 61 dr. Kiss AttilaXML adatbázisok strukturális indexelése A stabilitás definíciója hasítási művelettel Definíció: split 0 (C) = CRF(C), split(C) = CRF(C U Succ(CRF(C))) split k+1 (C)=split(split k (C)) Tulajdonság: - Monoton finomodó sorozatot kapunk: split k (C)≥…≥ split 1 (C) ≥ split 0 (C) - egy indextől kezdve nincs változás. Ezt hívjuk fixpontnak: split ∞ (C). Definíció: A P partíció stabil, ha split(P)=P. Tulajdonság: - split ∞ (P) a P legdurvább stabil finomítása.

62 Master Informatique 20 10. 01. 07. 62 dr. Kiss AttilaXML adatbázisok strukturális indexelése A DL-1-index Konstrukció : 1.A kiindulási indexhez tartozó partíció legyen a következő (V(G) a gráf csúcshalmaza): P 0 =split ∞ ({V(G)}) 2. A DL1-REFINE algoritmussal finomítjuk tovább a partíciót az előre adott SAPE lekérdezésekkel. Tulajdonságok: 1.Az 1-index a DL-1-index finomítása. 2.A konstrukcióval kapott DL-1-index pontos az adott SAPE lekérdezésekre nézve.

63 Master Informatique 20 10. 01. 07. 63 dr. Kiss AttilaXML adatbázisok strukturális indexelése A //(K|L) és //(B|C)/E lekérdezéseket támogató DL-1-index 0 1234 5678 9101112 A B E E C F C D E M L NK Az adatgráf és az 1-index megegyezik. 0 A 1,2,3,4 K,L,M,N 5,6,7,8 B,C,D 9,10,11,12 E,F A kiindulási DL-1- index. 0 A 1,2 K,L 3,4 M,N 5,6 B,C 7,8 C,D 9,10 E 11,12 E,F 0 A 1,2 K,L 5,6 B,C 9,10 E 3,4 M,N 78 1112 C F D E (a)(b) (c)(d) Az R 1 = //(K|L) szerint tovább finomítva Az R 2 = //(B|C)/E szerint tovább finomítva

64 Master Informatique 20 10. 01. 07. 64 dr. Kiss AttilaXML adatbázisok strukturális indexelése k-stabil strukturális indexek Definíció: A k-stabil indexet egy olyan (P 0,P 1,…,P k ) partíciósorozattal definiáljuk, melyre i.a P i partíció és P i+1 ≥split(P i ) (i=0,1,…,k-1). ii.Az indexcsúcsok halmaza a partíciós tagok összessége: P 0 U P 1 U…U P k iii.Az U’ indexcsúcsból akkor húzunk egy élt U-ba, ha létezik adatél u’ ∈ U’ -ból u ∈ U-ba és van olyan t index, melyre U’ ∈ P t és U ∈ P t+1

65 Master Informatique 20 10. 01. 07. 65 dr. Kiss AttilaXML adatbázisok strukturális indexelése A DL-A*(k)-index [Kiss06] Konstrukció: 1.A kiindulási DL-A*(k)-indexet a (P min, split(P min ),…, split k (P min )) alapján definiáljuk, ahol P min ={ {V(G)} } 2.Az AK-REFINE algoritmussal finomítjuk tovább a partíciót az előre adott SAPE lekérdezésekkel. Tulajdonságok: 1.Az A(i)-index a P i finomítása. 2.A konstrukcióval kapott DL-A*(k)-index pontos az adott legfeljebb k hosszú SAPE lekérdezésekre nézve.

66 Master Informatique 20 10. 01. 07. 66 dr. Kiss AttilaXML adatbázisok strukturális indexelése A //(K|L) és //(B|C)/E lekérdezéseket támogató DL-A*(1)-index 0 1234 5678 9101112 A B E E C F C M L K D E N Adatgráf A kiindulási index: //(K|L) -lel finomítva: //(B|C)/E -vel finomítva:

67 Master Informatique 20 10. 01. 07. 67 dr. Kiss AttilaXML adatbázisok strukturális indexelése Kísérleti eredmények Tesztadatokon összehasonlítottuk a 1.DL-1-indexet az 1-indexszel, illetve a 2.DL-A*(k) -indexet az A(k)-indexszel. Két szokásos adathalmazt vizsgáltunk: -XMark: 100 Mb, 1.681.342 adatcsúcs -TreeBank: 82Mb, 2.437.667 adatcsúcs. A lekérdezéshalmaznak 4 különböző, SAPE lekérdezéseket tartalmazó halmazt generáltunk, minden lekérdezés legfeljebb 5 hosszú és a halmazok 100 eleműek.

68 Master Informatique 20 10. 01. 07. 68 dr. Kiss AttilaXML adatbázisok strukturális indexelése A kísérletek alapján a DL-1 és DL-A*(k)-index mérete, és az index alapján történő kiértékelés is jobb, mint az 1-index, illetve A(k)-index esetében.

69 Master Informatique 20 10. 01. 07. 69 dr. Kiss AttilaXML adatbázisok strukturális indexelése 1.Motiváció: XML alapú virtuális obszervatóriumok 2.XML dokumentumok lekérdezéseinek kiértékelése 3.XML dokumentumok indexelése 4.Strukturális indexek 5.Strukturális indexek alkalmazása osztott XML dokumentumok esetén 6.XML adatbázisokkal kapcsolatos további kutatási feladatok 7.Összefoglalás

70 Master Informatique 20 10. 01. 07. 70 dr. Kiss AttilaXML adatbázisok strukturális indexelése Az SNPDS (Shared-Nothing Parallel Database System) osztott környezet A munkaállomások saját processzorral, memóriával, háttértárral rendelkeznek, amihez a többi állomás nem férhet hozzá. Hálózaton keresztül küldhetnek egymásnak üzeneteket, lekérdezéseket, adatokat. Hálózat Háttértár memória P1 memória P2 memória Pn …

71 Master Informatique 20 10. 01. 07. 71 dr. Kiss AttilaXML adatbázisok strukturális indexelése Osztott XML-fa Az XML-fát diszjunkt részfákra, töredékekre (fragments) bontjuk. Minden állomás valahány részfát tartalmaz. Egy töredék leveléből átmenetél vezet egy másik állomás töredékének gyökeréhez. Feladat: Milyen üzetváltási protokollal érdemes a reguláris lekérdezéseket kiértékelni? Lehet-e strukturális indexekkel jobb eredményt elérni?

72 Master Informatique 20 10. 01. 07. 72 dr. Kiss AttilaXML adatbázisok strukturális indexelése A //a/b//a lekérdezés kiértékelése 2 állomásra szétosztott XML-fán

73 Master Informatique 20 10. 01. 07. 73 dr. Kiss AttilaXML adatbázisok strukturális indexelése Átmeneti élek A lekérdezés kiértékelés a reguláris kifejezésnek megfelelő automatával történik. Probléma: egyik töredékből átmeneti élen keresztül át kell lépni a másikba Fragment-Process(F,q): -Az F töredék bejárását az F gyökerénél kezdjük q állapotból indulva. -Ha a feldolgozás során átmeneti élhez jutunk, akkor a) vagy továbbadjuk a vezérlést és várunk az eredményre (folyam modell), b) vagy feljegyezzük ezt és egy főállomást értesítünk róla (párhuzamos modell) A A B 0 1 2 q0q0 q0q0 q 0 q 1 F1F1 F0F0

74 Master Informatique 20 10. 01. 07. 74 dr. Kiss AttilaXML adatbázisok strukturális indexelése Folyam modell (SPIDER algoritmus) A gyökértöredékből indulunk. Ha egy (F, q)  (F’, q’) átmeneti élhez jutunk a feldolgozásban: 1.Az F feldolgozása megáll. 2.Az F’ feldolgozása a q’ állapottal elindul. 3.Ha F’ feldolgozása elkészült, akkor elküldi az eredményt F-nek, amely folytatja a feldolgozást. Várakozási idő nagy!

75 Master Informatique 20 10. 01. 07. 75 dr. Kiss AttilaXML adatbázisok strukturális indexelése Kétfázisú párhuzamos modell Minden töredék minden állapotot feltételezve kiszámítja a saját részeredményeit. (Előfeldolgozás.) Ha egy (F, q)  (F’, q’) átmeneti élhez jutunk a feldolgozásban: Az alállomás felküldi a (F, q)  (F’, q’) szabályt a központi állomásnak. (1. fázis vége) A központi állomás a szabályokból kiszámítja az elérhető állapotokat minden töredékre és elküldi minden töredéknek, hogy milyen állapottal hajtsa végre a kiértékelést. A töredékek felküldik az eredményüket a központba, amiből a központi állomás kiszámolja a végeredményt.

76 Master Informatique 20 10. 01. 07. 76 dr. Kiss AttilaXML adatbázisok strukturális indexelése Egyfázisú indexelt párhuzamos protokoll [Kiss07] A központ a töredékek kapcsolódását leíró strukturális Fa-index segítségével meghatározza az elérhetetlen (F,q) állapotokat. Az elérhető állapotok közül elhagyhatók azok, amelyek a töredékben kiértékelve üres eredményt adnak. –Mivel ez csak a lekérdezés végétől függ, ezért ezt a központ is meg tudja határozni, ha tárolja a töredékek strukturális DL-1- indexét. A központ a nem üres eredményt adó, elérhető (F,q) állapotokat küldi szét, majd a beérkező részeredményekből összerakja a végeredményt. Előny: gyorsabb feldolgozás Hátrány: a központ tárigénye nő a strukturális indexek tárolása miatt.

77 Master Informatique 20 10. 01. 07. 77 dr. Kiss AttilaXML adatbázisok strukturális indexelése Strukturális Fa-index A F0F0 0 F3F3 1 2 A B8 F2F2 F4F4 F1F1 3 45 10 6 12 14 13 1511AC D CB F E D D B A A E 7 F5F5 Fa-index AF0F0 AF2F2 BF3F3 BF4F4 DF1F1 DF5F5 ε AB AC A ε q0q0 q 0 q 1 (F 2,q 1 ), (F 2,q 2 ): nem érhető el q0q0 q0q0 q0q0 q 0 q 1 Elérhető állapotok (F 0,q 0 ), (F 1,q 0 ), … A Fa-index csúcsai a töredékek gyökércsúcsai. Az éleket megcímkézzük azzal a címkesorozattal, amelyet a töredéken keresztülhaladva kapunk.

78 Master Informatique 20 10. 01. 07. 78 dr. Kiss AttilaXML adatbázisok strukturális indexelése Kísérleti eredmények Tesztadatokon összehasonlítottuk –a SPIDER feldolgozást (SP), –a Kétfázisú párhuzamos feldolgozást (2P) és –az Egyfázisú indexelt feldolgozást (1IP). Az osztott környezet: 19 Linux állomás, helyi hálózattal összekötve Az adathalmaz: 500 Mb, 76 töredék, véletlenszerűen szétosztva 10 reguláris kifejezést vizsgáltunk Az eredményeket átlagoltuk. Várakozási idő: 1IP : 2P : SP = 1 : 1.94 : 37.52 Kiszámítási idő (kommunikációt és indexelést is beleértve): 1IP : 2P : SP = 1 : 1.77 : 2.75

79 Master Informatique 20 10. 01. 07. 79 dr. Kiss AttilaXML adatbázisok strukturális indexelése 1.Motiváció: XML alapú virtuális obszervatóriumok 2.XML dokumentumok lekérdezéseinek kiértékelése 3.XML dokumentumok indexelése 4.Strukturális indexek 5.Strukturális indexek alkalmazása osztott XML dokumentumok esetén 6.XML adatbázisokkal kapcsolatos további kutatási feladatok 7.Összefoglalás

80 Master Informatique 20 10. 01. 07. 80 dr. Kiss AttilaXML adatbázisok strukturális indexelése Klasszikus feladatok XML-re A klasszikus relációs adatbázis-kezelési technológiákat XML adatbázisokra is ki kell terjeszteni: –hatékony tárolás (natív vagy relációs adatbázisban) –hatékony karbantartás (indexeket is) –jogosultságok kezelése –tranzakció-kezelés –adatbányászat

81 Master Informatique 20 10. 01. 07. 81 dr. Kiss AttilaXML adatbázisok strukturális indexelése Néhány kutatási téma 2010-es XML konferenciák tükrében XML Prague 2010, March 13th & 14th –XML Lifecycle (diffing, merging, change tracking, etc.) –Efficiency and performance in XML (verbosity, processing, overuse) –Hypermedia in XML (SMIL, SVG animations) –Spatial data and XML (WGS84, microformats) –XML all the time (XRX, XQuery web applications) DBKDA 2010 April 11-16, 2010 - Menuires, France XML-driven data, knowledge, databases: –Data /dissemination, distributed, processing, management/; –XML-data /storage, exchange, compress, metadata/; –XML-data and metadata management; –XML repositories; –Knowledge discovery from XML repositories; –XML-data processing /queries, indexing, management, retrieval, mining/; –XML data and knowledge /representation, discovery, mining, orchestration/; –XML-data in advances environments /clouds, P2P, multimedia, mobile, finance, biotechnologies, geospatial, space/; –XML-data and process /data warehouse, workflow, web, learning, control/; Balisage: The Markup Conference 2010 August 03-06, 2010 Montreal, Canada –Xsd, XQuery, Xslt, Rdf, Sgml, Lmnl, Xsl Fo, Xtm, Svg, Math Ml, Owl, Tex Mecs, Rng, Topic Maps, Document Modeling, Overlap, Ontologies, Xml, Ubl, Metadata

82 Master Informatique 20 10. 01. 07. 82 dr. Kiss AttilaXML adatbázisok strukturális indexelése Natív XML adatbázis-kezelők http://www.rpbourret.com/xml/XMLDatabaseProds.htm#native http://www.rpbourret.com/xml/XMLDatabaseProds.htm#native Termék Fejlesztő License Adatbázistípus 4Suite, 4Suite Server4Suite, 4Suite Server FourThoughtOpen Source Object-oriented Berkeley DB XMLBerkeley DB XML Oracle Open Source Key-value Birdstep RDM MobileBirdstep RDM Mobile Birdstep Technology / Raima Commercial Object- oriented, relational, network, hierarchical DBDOMDBDOM K. Ari Krupnikov Open Source Relational dbXMLdbXML dbXML Group Open Source Proprietary DieselpointDieselpoint Dieselpoint, Inc. Commercial None (indexes only) DOMSafeXMLDOMSafeXML Ellipsis Commercial File system eXisteXist Wolfgang Meier Open Source Proprietary eXtceXtc M/Gateway Developments Ltd. Free Post-relational ExtrawayExtraway 3D Informatica Commercial Files plus indexes Infonyte DBInfonyte DBInfonyte Commercial Proprietary Ipedo XML DatabaseIpedo XML Database Ipedo Commercial Proprietary LoreLore Stanford University Research Semi-structured MarkLogic ServerMarkLogic Server Mark Logic Corp. Commercial Proprietary M/DB:XM/DB:X M/Gateway Developments Ltd. Free Hierarchical myXMLDBmyXMLDB Mladen Adamovic Open Source MySQL NatixNatix University of Mannheim Free / non-commercial Proprietary ozoneozone ozone-db.org Open Source Object-oriented

83 Master Informatique 20 10. 01. 07. 83 dr. Kiss AttilaXML adatbázisok strukturális indexelése Natív XML adatbázis-kezelők http://www.rpbourret.com/xml/XMLDatabaseProds.htm#native http://www.rpbourret.com/xml/XMLDatabaseProds.htm#native Termék Fejlesztő License Adatbázistípus Qizx/dbQizx/db XMLMind Commercial Proprietary Sedna XML DBMSSedna XML DBMS ISP RAS MODIS Free Proprietary Sekaiju / YggdrasillSekaiju / Yggdrasill Media Fusion Commercial Proprietary SQL/XML-IMDBSQL/XML-IMDB QuiLogic Commercial Proprietary (native XML and relational) Sonic XML ServerSonic XML Server Sonic Software Commercial Object-oriented (ObjectStore). TaminoTamino Software AG Commercial Proprietary. Relational through ODBC. TeraText DBSTeraText DBS TeraText Solutions Commercial Proprietary TEXTML ServerTEXTML Server IXIASOFT, Inc.Commercial Proprietary TigerLogic XDMSTigerLogic XDMS Raining Data Commercial Pick TimberTimber University of Michigan Open Source (non-commercial only) Shore, Berkeley DB TOTAL XMLTOTAL XML Cincom Commercial Object-relational VirtuosoVirtuoso OpenLink Software Commercial Proprietary. Relational through ODBC XDBMXDBM Matthew Parry, Paul Sokolovsky Open Source Proprietary XDBXDB ZVON.org Open Source Relational (PostgreSQL) XediX TeraSolutionXediX TeraSolution AM2 Systems Commercial Proprietary X-Hive/DBX-Hive/DB X -Hive Corporation Commercial Proprietary. Relational through JDBC XindiceXindice Apache Software Foundation Open Source Proprietary xml.gax.comxml.gax.com GAX Technologies Commercial Proprietary Xpriori XMSXpriori XMS Xpriori Commercial Proprietary XQuantum XML Database ServerXQuantum XML Database Server Cognetic Systems Commercial Proprietary XStreamDB Native XML DatabaseXStreamDB Native XML Database Bluestream Db. Soft. Corp. Commercial Proprietary Xyleme Zone ServerXyleme Zone Server Xyleme SA Commercial Proprietary

84 Master Informatique 20 10. 01. 07. 84 dr. Kiss AttilaXML adatbázisok strukturális indexelése 1.Motiváció: XML alapú virtuális obszervatóriumok 2.XML dokumentumok lekérdezéseinek kiértékelése 3.XML dokumentumok indexelése 4.Strukturális indexek 5.Strukturális indexek alkalmazása osztott XML dokumentumok esetén 6.XML adatbázisokkal kapcsolatos további kutatási feladatok 7.Összefoglalás

85 Master Informatique 20 10. 01. 07. 85 dr. Kiss AttilaXML adatbázisok strukturális indexelése Összefoglalás Az előadásban a következő témákat tekintettük át. 1.Milyen feladatok kapcsán keletkeznek nagy méretű XML adatbázisok: –virtuális obszervatóriumok tudományos adatbázisai (csillagászati, biológiai, részecskefizikai) 2.Megfogalmaztuk a feladatot: –Nagy méretű (osztott) XML adatbázisok gyors lekérdezése Két lehetséges utat választottunk: 1.Az adatbázis, a reguláris lekérdezés reprezentálása relációs adatbázisban, majd a lekérdezés feldolgozása DATALOG, illetve SQL segítségével. 2.A natív XML adatbázishoz indexeket készítve gyorsítjuk a lekérdezés végrehajtását.

86 Master Informatique 20 10. 01. 07. 86 dr. Kiss AttilaXML adatbázisok strukturális indexelése Összefoglalás 3.Osztályoztuk az XML indexelési módszereit: –értékek indexelése B + -fákkal –szöveges keresések invertált indexekkel –strukturális címkézés az előd, illetve utód kapcsolatok gyors eldöntésére pre/post számozás intervallum címkézés –strukturális indexek, amit részletesen áttekintettünk 4.A strukturális indexek tömör formában tárolják a gráf struktúráját, útvonalkifejezéseit. a)Az első ilyen index a DataGuide, 1997-ben jelent meg. A címkesorozatok a DataGuide és az XML-gráfban pontosan megegyeznek. Egy sorozat csak egyszer szerepel az indexben. Probléma: A DataGuide esetében az indexméret ciklikus gráf esetén nagyobb lehet, mint az adatbázis. b)Megoldás: 1-index Az index csúcsai a maximális biszimuláció ekvivalenciaosztályai minden reguláris lekérdezésre pontos (kiértékelés = indexes kiértékelés) a PT-algoritmussal hatékonyan elkészíthető

87 Master Informatique 20 10. 01. 07. 87 dr. Kiss AttilaXML adatbázisok strukturális indexelése Összefoglalás 4.Speciális lekérdezésekre pontos index készítése c) //a0/a1/…/ak alakú lekérdezések A(k)-index lokális hasonlóságon (k- biszimuláción alapul) d) Gyakori lekérdezések APEX, amely kiindul a címkék szerinti osztályozásból, és ezt finomítja a beérkeő lekérdezések szerint, közben Hash-táblában frissíti az indexcsúcsokat

88 Master Informatique 20 10. 01. 07. 88 dr. Kiss AttilaXML adatbázisok strukturális indexelése Összefoglalás 4.Speciális lekérdezésekre pontos index készítése e) //S0/S1/…/Sk alakú alternatív SAPE lekérdezések DL-1-index: A legdurvább stabil finomítást határozzuk meg, majd ezt finomítjuk a SAPE lekérdezésekkel az 1-index a DL-1-index finomítása f) //S0/S1/…/Sk alakú legfeljebb k-hosszú alternatív SAPE lekérdezések DL-A*(k)-index: k hasítási lépést hajtunk végre, és a kapott partíciókat finomítjuk a SAPE lekérdezésekkel Az A*(k)-index a DL-A*(k)-index finomítása

89 Master Informatique 20 10. 01. 07. 89 dr. Kiss AttilaXML adatbázisok strukturális indexelése Összefoglalás 5.Strukturális indexeket alkalmazva hatékonyabbá lehet tenni az osztott XML dokumentumok lekérdezését Az XML fát osztottan tároljuk Egy állomáson több részfa (töredék) lehet Reguláris lekérdezést akarunk kiértékelni 3 módszer: folyam modell (SPIDER) párhuzamos kétfázisú egyfázisú indexelt a központ tárolja a töredékek DL-indexét és a felosztás Fa- indexét nem elérhető vagy üres eredményt produkáló állapotokat nem küld az állomásokra 6.További XML kutatási feladatokat, témaköröket adtunk meg.

90 Master Informatique 20 10. 01. 07. 90 dr. Kiss AttilaXML adatbázisok strukturális indexelése Az előadásban szereplő hivatkozások [Chung et al., SIGMOD 2002] –Chin-Wan Chung, Jun-Ki Min, Kyuseok Shim, APEX: an adaptive path index for XML data, Proceedings of the 2002 ACM SIGMOD international conference on Management of data, June 03-06, 2002, Madison, Wisconsin [doi>10.1145/564691.564706]10.1145/564691.564706 [Dietz82] –Dietz, P. F. 1982. Maintaining order in a linked list. In Proceedings of the Fourteenth Annual ACM Symposium on theory of Computing (San Francisco, California, United States, May 05 - 07, 1982). STOC '82. ACM, New York, NY, 122-127. DOI= http://doi.acm.org/10.1145/800070.802184http://doi.acm.org/10.1145/800070.802184 [Goldman & Widom VLDB 97] –Goldman, R. and Widom, J. 1997. DataGuides: Enabling Query Formulation and Optimization in Semistructured Databases. In Proceedings of the 23rd international Conference on Very Large Data Bases (August 25 - 29, 1997). M. Jarke, M. J. Carey, K. R. Dittrich, F. H. Lochovsky, P. Loucopoulos, and M. A. Jeusfeld, Eds. Very Large Data Bases. Morgan Kaufmann Publishers, San Francisco, CA, 436-445. [Kaushik et al. 02] –Raghav Kaushik, Pradeep Shenoy, Philip Bohannon, Ehud Gudes, "Exploiting Local Similarity for Indexing Paths in Graph-Structured Data," Data Engineering, International Conference on, p. 0129, 18th International Conference on Data Engineering (ICDE'02), 2002 [Kiss05] –Attila Kiss, Vu Le Anh A solution for regular queries on XML Data, (PUMA Volume 15 (2005), Issue No. 2, pp.179- 202. [Kiss06] –Attila Kiss, Vu Le Anh: Efficient Processing SAPE Queries Using the Dynamic Labelling Structural Indexes. ADBIS 2006: 232-247ADBIS 2006 [Kiss07] –Attila Kiss, Vu Le Anh: Efficient Processing Regular Queries In Shared-Nothing Parallel Database Systems Using Tree- And Structural Indexes. ADBIS Research Communications 2007ADBIS Research Communications 2007 [Li&Moon VLDB 2001] –Li and Moon, 2001 Li, Q., Moon, B., 2001. Indexing and querying XML data for regular expressions. In: Proceedings of VLDB 2001, pp. 367–370. [Milo & Suciu, LNCS 1997] –Milo, T., Suciu, D. (1999), "Index structures for path expressions", 7th International Conference on Database Theory (ICDT), pp.277-95. [Paige &Tarjan 87] –Paige, R. and Tarjan, R. E. 1987. Three partition refinement algorithms. SIAM J. Comput. 16, 6 (Dec. 1987), 973-989. DOI= http://dx.doi.org/10.1137/0216062http://dx.doi.org/10.1137/0216062

91 Master Informatique 20 10. 01. 07. 91 dr. Kiss AttilaXML adatbázisok strukturális indexelése Köszönöm a figyelmet!

92 Master Informatique 20 10. 01. 07. 92 dr. Kiss AttilaXML adatbázisok strukturális indexelése Válaszok az opponensek kérdéseire Köszönöm az opponensek gondos munkáját! A következő kérdések merültek fel. 1.Az indexelési technikáknak milyen szerepe lehet az XML adatbázisok adatbányászatában? 2.Milyen jövőképet tudna felvázolni a jövő adatbázisaira és az adatbányászatra?

93 Master Informatique 20 10. 01. 07. 93 dr. Kiss AttilaXML adatbázisok strukturális indexelése Az indexelési technikáknak milyen szerepe lehet az XML adatbázisok adatbányászatában? Az adatbányászat feladata nagy adathalmazokban fontos összefüggések megtalálása Az adatbányászati algoritmusokban fontos, hogy ne kelljen minden esetet végigvizsgálni. Például gyógyszerkutatásban a molekulákban keresünk mintákat, amelyek a kémiai kötődéseket határozzák meg. –A molekulákat gráfokkal szokták megadni. (->XML-gráf) –A minta is egy kicsi részgráf. (->XML gráf) –A feladat részgráf keresése. (Nehéz probléma.) –Ha a molekula struktúrájának lenyomatát tároljuk (Index), akkor a lenyomatok alapján kizárhatunk nagyon sok felesleges esetet a vizsgálatból. XML-ben a részgráf keresési problémát Twig-Query vagy Twig-join problémanak hívják.

94 Master Informatique 20 10. 01. 07. 94 dr. Kiss AttilaXML adatbázisok strukturális indexelése Az indexelési technikáknak milyen szerepe lehet az XML adatbázisok adatbányászatában? Egy friss cikk ebben témában, ami ösvény indexelést használ: El-Tazi, Neamat; Jagadish, H. V. BPI-TWIG: XML Twig Query Evaluation Database and XML Technologies, Lecture Notes in Computer Science, Volume 5679. ISBN 978-3-642-03554-8. Springer Berlin Heidelberg, 2009, p. 17 http://www.springerlink.com/content/d80386141g147453/ http://www.springerlink.com/content/d80386141g147453/ A DNS-ek is reprezentálhatók XML fájlokban. Itt is fontos feladat a gyakori minták keresése. A következő cikk ezt a feladatot oldja meg indexek bevezetésével. Jung-Im Won, Jeehee Yoon, Sanghyun Park, Sang-Wook Kim: A Novel Indexing Method for Efficient Sequence Matching in Large DNA Database Environment. PAKDD 2005: 203-215 http://www.springerlink.com/content/k002vfptpr7fv2j5/

95 Master Informatique 20 10. 01. 07. 95 dr. Kiss AttilaXML adatbázisok strukturális indexelése Milyen jövőképet tudna felvázolni a jövő adatbázisaira és az adatbányászatra. The Claremont Report on Database Research (2009) Database research is expanding, with major efforts in system architecture, new languages, cloud services, mobile and virtual worlds, and interplay between structure and text. Rakesh Agrawal, Anastasia Ailamaki, Philip A. Bernstein, Eric A. Brewer, Michael J. Carey, Surajit Chaudhuri, Anhai Doan, Daniela Florescu, Michael J. Franklin, Hector Garcia-Molina, Johannes Gehrke, Le Gruenwald, Laura M. Haas, Alon Y. Halevy, Joseph M… Communications of the ACM JUNE 2009 Vol. 52 No. 6, Pages 56-65 10.1145/1516046.1516062 http://cacm.acm.org/magazines/2009/6/28496-the-claremont-report-on- database-research/pdf?dl=no

96 Master Informatique 20 10. 01. 07. 96 dr. Kiss AttilaXML adatbázisok strukturális indexelése A fontosabb irányok 1.Breadth of excitement about Big Data. 2.Data analysis as a profit center. 3.Ubiquity of structured and unstructured data. 4.Expanded developer demands. (open source) 5.Architectural shifts in computing. (mobile and cloud computing)


Letölteni ppt "Master Informatique 20 10. 01. 07. 1 dr. Kiss AttilaXML adatbázisok strukturális indexelése XML adatbázisok strukturális indexelése (Structural indexes."

Hasonló előadás


Google Hirdetések