XML adatbzisok strukturlis indexelse Structural indexes of XML
XML adatbázisok strukturális indexelése (Structural indexes of XML Databases) dr. Kiss Attila kiss@inf. elte. hu Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 1
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 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 2
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 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 3
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 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 4
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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 5
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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 6
Az International Virtual Observatory Alliance architektúrája Forrás: http: //www. ivoa. net/ Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 7
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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 8
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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 9
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 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 10
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 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 11
Publikációk XML dokumentumban <CSDepartment> <Ph. DStudents> <Student id="s 1"> <Name>John</Name> <Papers> <Paper id="pp 1" > <Title>ABC</Title> <Author>Dr. Ben</Author> <Author idref="p 1" > </Author> </Papers> </Student> <Student id="s 2"> <Name>Tom</Name> </Student> </Ph. DStudents> <Professor id="p 1" > … Kiss Attila Master dr. Informatique … <Name>Dr. Kiss</Name> <Papers> <Paper idref="pp 1" > </Paper> <Title>DEF</Title> </Papers> </Professor> <Professor id="p 2"> <Name>Dr. Baker</Name> <Papers> <Paper> <Title>XYZ</Title> </Papers> </Professors> </CSDepartment> XML adatbázisok strukturális indexelése 12
Az XML adatgráf Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 13
Reguláris lekérdezések • Az XML-nek számos lekérdező nyelve létezik. – XQuery, XPath, Un. QL, 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 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 14
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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 15
A lekérdezés kiértékelése az automata alapján * B • //B/D lekérdezés gráfja: q 0 • Input: I={0}; Output: O={0, 1, …, 15} D q 1 q 2 0 A q 0 1 A q 0 8 B q 0 2 B q 0 6 C q 0 3 D q 0 q 1 7 A 4 A q 0 q 2 9 A 13 D 10 B 14 E 5 Cq 0 q 2 11 D 12 E 15 F Folytatva a bejárást az eredmény = {(0, 3), (0, 11), (0, 13)} Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 16
Áttérés élcímkézett gráfokra Csúcscímkézett gráf A 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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 17
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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 18
Az R: = a/(b|c)*/a és egy adatgráf SD-gráfja b Lekérdezés gráfja: a s 0 Adatgráf: 1 a a s 1 s 2 c 3 c SD-gráf: a 5 a 1, s 1 a a 2, s 1 2, s 2 c 3, s 1 a 2 4 1, s 0 3, s 0 b 2, s 0 a b a a 4, s 1 Kiss Attila Master dr. Informatique 4, s 2 Az SD-gráfban kezdő állapotból végállapotba hová lehet eljutni? 5, s 1 5, s 2 XML adatbázisok strukturális indexelése Eredmény: (1, 4) , (1, 5) 19
SD-gráf reprezentálása relációs adatbázisban [Kiss 05] • 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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 20
1. lépés: Az adatgráf átírása élcímkézett gráfra Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 21
2. lépés: A lekérdezés gráfjának megadása Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 22
3. lépés: Felírjuk a DATALOG, illetve SQL lekérdezést Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 23
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} Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 24
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 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 25
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 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 26
XML-fák pre/post számozása [Dietz 82] • 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. (1, 7) (6, 6) (2, 4) x-nek y az utódja <=> pre(x) < pre(y) és post(x) > post(y) (3, 1) • Például: 1 < 5 és 7 > 3 => (1, 7)-nek utódja az (5, 3) Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése (4, 2) (7, 5) (5, 3) 27
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 (1, 100) – 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 (41, 10) (10, 30) – order(x) + size(x) < order(y) x-nek y az utódja <=> order(x) < order(y) és order(y) <= order(y) + size(x) Kiss Attila Master dr. Informatique (11, 5) XML adatbázisok strukturális indexelése (25, 5) (17, 5) 28 (45, 5)
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 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 29
A strukturális indexelési technikák megjelenése Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 30
A DG-index (Data. Guide) [ 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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 31
A DG-index nem egyértelmű • A DG-index tömörebben (kisebb gráfon) tárolja a kiolvasható címke útvonalakat. • A G 1 és G 2 is DG-indexe a DB-nek. A B B A B C C C D D D DB Kiss Attila Master dr. Informatique G 1 XML adatbázisok strukturális indexelése G 2 32
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: G 1 erős; G 2 nem erős A. C(DB) = { 5 }, B. C(DB) = { 6, 7 } A. C(G 2) = { 20 }, B. C(G 2) = { 20 } DB Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése G 1 G 2 33
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) Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 34
1 -index [Milo & Suciu, LNCS 1997] Öt. Iet: használjunk biszimuláció ekvivalenciarelációt a megkülönböztethetetlensé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). Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 35
Biszimuláció • A biszimuláció a csúcsokon értelmezett ekvivalenciareláció: x 1 x 2, ha – x 1 és x 2 címkéje megegyezik – ha x 1 x 2 és létezik y 1 -ből él x 1 -be, akkor létezik egy olyan y 2 -ből él x 2 -be, melyre y 1 y 2, és ez fordítva is igaz. Kiss Attila Master dr. Informatique b y 1 a x 1 y 2 b x 2 a XML adatbázisok strukturális indexelése 36
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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 37
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 (x 1, x 2) ∈ R, ami megsérti a definíciót, akkor dobjuk ki (x 1, x 2)-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] Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 38
Példa 1 -indexre paper 1 section title 14 2 4 section 3 title 2, 4, 8, 13 section 8 15 exp 16 exp 10 6 9 algorithm title 18 proof 17 about algorithm 5 title proof 1 13 section 7 uses 11 12 about title 3, 5, 9, 14 7 Adatgráf Kiss Attila Master dr. Informatique exp algorithm 6, 10 proof /paper/section/algorithm section 12 uses 11 proof 15, 16 17, 18 about 1 -index XML adatbázisok strukturális indexelése 39
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. u’ u I[u] I[u’] I[v] = I[v’] v’ Kiss Attila Master dr. Informatique v XML adatbázisok strukturális indexelése 40
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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 41
Lekérdezéshalmazokhoz készített pontos indexek • Fontosabb lekérdezéshalmazok: – //a 0/a 1/…/ai (i<=k) alakú, legfeljebb k-hosszú lekérdezések • A(k)-index – Gyakori lekérdezések (dinamikus indexek) • APEX, D(k)-index – //S 0/S 1/…/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 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 42
A(k)-Index [Kaushik et al. 02] • A //a 0/a 1/…/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’. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 43
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 2 1 tv {1} imdb 5 {5} movie director {3, 6, 8} director name {4, 7, 9} movie director 3 director 6 director 8 name 4 name 7 name 9 Adatgráf Kiss Attila Master dr. Informatique {2} tv A(0)-index imdb {1} {2} tv {3} director name {4, 7, 9} A(1)-index XML adatbázisok strukturális indexelése {5} {6, 8} movie director name imdb {1} {2} tv {3} director {4} name {5} {6, 8} {7, 9} A(2)-index (1 -index) 44
Hasítás (Split) művelet R A R R R B A B C 1 C 2, C 3 C 4 C 5 C 6 C 4 C 5, C 6 A B C 1, C 2, C 3 C 4, C 5, C 6 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 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 45
Finomítási sorozat (1. lépés) R A R R R B A B C 1 C 2, C 3 C 4 C 5 C 6 C 4 C 5, C 6 A B C 1, C 2, C 3 C 4, C 5, C 6 Adatgráf A(2) (=1 -index) A(1) A(0) Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 46
Finomítási sorozat (2. lépés) R A R R R B A B C 1 C 2, C 3 C 4 C 5 C 6 C 4 C 5, C 6 A B C 1, C 2, C 3 C 4, C 5, C 6 Adatgráf A(2) (=1 -index) A(1) A(0) Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 47
APEX [Chung et al. , SIGMOD 2002] • APEX: Adaptive Path Ind. Ex 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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 48
APEX index készítése root 0 publications author name 2 3 author name 4 5 book title Kiss Attila Master dr. Informatique editor name 6 7 1 editor name 10 11 book title 8 9 XML adatbázisok strukturális indexelése 49 12 13
1. lépés: Címke szerinti osztályozás root 0 publications author name 2 3 author name 4 5 book title Kiss Attila Master dr. Informatique editor name 8 9 6 7 1 editor name 10 11 book title 12 13 1 a: Az azonos címkéjű csúcsokat összevonjuk. XML adatbázisok strukturális indexelése 50
1. lépés: Címke szerinti osztályozás root publications author editor book title name 1 b: Hozzáadjuk az osztályok közti éleket fordított sorrendben. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 51
1. lépés: Címke szerinti osztályozás root publications author editor book title name adatcsúcsok: 3, 5, 7, 11 Kiss Attila Master dr. Informatique 1 c: Letároljuk, hogy az osztályokhoz milyen adatcsúcsok tartoznak XML adatbázisok strukturális indexelése 52
1. lépés: Címke szerinti osztályozás root publications author editor book title name adatélek: (2, 3) (4, 5) Kiss Attila Master dr. Informatique 1 d: Letároljuk, hogy az indexélek milyen adatéleknek felelnek meg. XML adatbázisok strukturális indexelése 53
1. lépés: Címke szerinti osztályozás root publications author Index: author book editor name publ. title Kiss Attila Master dr. Informatique editor book title name 1 e: Az indexcsúcsokhoz készítünk egy Hash indexet. XML adatbázisok strukturális indexelése 54
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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 55
3. lépés: Az index frissítése a gyakori lekérdezések alapján //author/name root publications author editor book title name adatcsúcsok: 3, 5 7, 11 Kiss Attila Master dr. Informatique Index: … name … author other XML adatbázisok strukturális indexelése 56
3. lépés: Az index frissítése a gyakori lekérdezések alapján //book/author/name root publications author editor book title name adatcsúcsok: 3 5 7, 11 Kiss Attila Master dr. Informatique book other XML adatbázisok strukturális indexelése Index: … name … author other 57
DL-1 -index [Kiss 06] • Az //S 0/S 1/…/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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 58
A //(d|e)/f SAPE lekérdezés Adatgráf A lekérdezés: //(d|e)/f R : = S 0/S 1 , ahol S 0= { d, e } ; S 1= { f } 0 a 1 b 3 c 2 b 4 d 5 e 6 d 7 d 8 e 9 f 10 f 11 f 12 f 13 g Kiss Attila Master dr. Informatique A (4, 9), (5, 10), (6, 11) és (7, 12) utak illeszkednek az R-re. A lekérdezés eredménye: TG(R) = {9, 10, 11, 12} XML adatbázisok strukturális indexelése 59
Matematikai előkészítés A továbbiakban minden halmazról, gráfról feltesszük a végességet. • u csúcs gyerekei: – Succ(u): ={ v | u-ból létezik él v-be} • H halmaz gyerekei: – Succ(H): =∪Succ(u) u∈ H • 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ó) Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 60
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))) splitk+1(C)=split(splitk(C)) • Tulajdonság: - Monoton finomodó sorozatot kapunk: splitk(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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 61
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)}) A DL 1 -REFINE algoritmussal finomítjuk 2. 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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 62
A //(K|L) és //(B|C)/E lekérdezéseket támogató DL-1 -index K B E 1 5 9 2 L 6 C 0 A 3 K, L, M, N 1, 2, 3, 4 M 7 C 10 11 E F (a) 4 N B, C, D 5, 6, 7, 8 D E, F 12 9, 10, 11, 12 E (b) 8 0 A K, L 1, 2 3, 4 B, C 5, 6 E 7, 8 0 A M, N K, L 1, 2 C, D B, C 5, 6 E, F 11, 12 9, 10 (c) Az adatgráf és az A Az R 1= //(K|L) kiindulási szerint tovább 1 -index DL-1 megegyezik. finomítva index. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése E 9, 10 M, N 3, 4 7 C 11 (d)F Az R 2= //(B|C)/E szerint tovább finomítva 63 8 D 12 E
k-stabil strukturális indexek • Definíció: A k-stabil indexet egy olyan (P 0, P 1, …, Pk) partíciósorozattal definiáljuk , melyre i. a Pi partíció és Pi+1≥split(Pi) (i=0, 1, …, k-1). ii. Az indexcsúcsok halmaza a partíciós tagok összessége: P 0 U P 1 U…U Pk 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’∈ Pt és U∈ Pt+1 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 64
A DL-A*(k)-index [Kiss 06] • Konstrukció: 1. A kiindulási DL-A*(k)-indexet a (Pmin, split(Pmin), …, splitk(Pmin)) alapján definiáljuk, ahol Pmin={ {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 Pi finomítása. 2. A konstrukcióval kapott DL-A*(k)-index pontos az adott legfeljebb k hosszú SAPE lekérdezésekre nézve. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 65
A //(K|L) és //(B|C)/E lekérdezéseket támogató DL-A*(1)-index A kiindulási index: 0 A K B E 1 5 9 //(K|L) -lel finomítva: 2 L 6 C 3 7 C 8 10 E 11 F 12 M 4 N D //(B|C)/E -vel finomítva: E Adatgráf Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 66
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 Tree. Bank: 82 Mb, 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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 67
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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 68
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 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 69
Az SNPDS (Shared-Nothing Parallel Database System) osztott környezet Hálózat P 1 P 2 memória Háttértár Pn … memória Háttértár • 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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 70
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? Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 71
A //a/b//a lekérdezés kiértékelése 2 állomásra szétosztott XML-fán Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 72
Átmeneti élek • A lekérdezés kiértékelés a reguláris 0 A q 0 kifejezésnek megfelelő automatával történik. F 0 • Probléma: egyik töredékből átmeneti élen 1 Aq 0 keresztül át kell lépni a másikba F 1 2 B q 0 q 1 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) Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 73
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! Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 74
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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 75
Egyfázisú indexelt párhuzamos protokoll [Kiss 07] • 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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 76
Strukturális Fa-index F 0 0 A F 3 8 B F 5 1 A 2 B 6 C A F 2 F F 1 4 3 D 7 A 10 B 4 A 5 C D 13 AB Fa-index (F 2, q 1), (F 2, q 2): nem érhető el ε AC DF 1 A F 2 B F 3 q 0 q 1 q 0 A ε B F 4 DF 5 q 0 q 1 q 0 E 14 11 D E 12 F 15 A F 0 q 0 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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 77
Kísérleti eredmények • Tesztadatokon összehasonlítottuk – a SPIDER feldolgozást (SP), – a Kétfázisú párhuzamos feldolgozást (2 P) és – az Egyfázisú indexelt feldolgozást (1 IP). • • • 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ő: 1 IP : 2 P : SP = 1 : 1. 94 : 37. 52 Kiszámítási idő (kommunikációt és indexelést is beleértve): 1 IP : 2 P : SP = 1 : 1. 77 : 2. 75 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 78
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 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 79
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 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 80
Néhány kutatási téma 2010 -es XML konferenciák tükrében • • • XML Prague 2010, March 13 th & 14 th – 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 (WGS 84, 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, P 2 P, 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 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 81
Natív XML adatbázis-kezelők http: //www. rpbourret. com/xml/XMLDatabase. Prods. htm#native Termék Fejlesztő License Adatbázistípus 4 Suite, 4 Suite Server Four. Thought. Open Source Object-oriented Berkeley DB XML Oracle Open Source Key-value Birdstep RDM Mobile Birdstep Technology / Raima Commercial Objectoriented, relational, network, hierarchical DBDOM K. Ari Krupnikov Open Source Relational db. XML Group Open Source Proprietary Dieselpoint, Inc. Commercial None (indexes only) DOMSafe. XML Ellipsis Commercial File system e. Xist Wolfgang Meier Open Source Proprietary e. Xtc M/Gateway Developments Ltd. Free Post-relational Extraway 3 D Informatica Commercial Files plus indexes Infonyte DBInfonyte Commercial Proprietary Ipedo XML Database Ipedo Commercial Proprietary Lore Stanford University Research Semi-structured Mark. Logic Server Mark Logic Corp. Commercial Proprietary M/DB: X M/Gateway Developments Ltd. Free Hierarchical my. XMLDB Mladen Adamovic Open Source My. SQL Natix University of Mannheim Free / non-commercial Proprietary ozone-db. org Open Source Object-oriented Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 82
Natív XML adatbázis-kezelők http: //www. rpbourret. com/xml/XMLDatabase. Prods. htm#native Termék Fejlesztő License Adatbázistípus Qizx/db XMLMind Commercial Proprietary Sedna XML DBMS ISP RAS MODIS Free Proprietary Sekaiju / Yggdrasill Media Fusion Commercial Proprietary SQL/XML-IMDB Qui. Logic Commercial Proprietary (native XML and relational) Sonic XML Server Sonic Software Commercial Object-oriented (Object. Store). Tamino Software AG Commercial Proprietary. Relational through ODBC. Tera. Text DBS Tera. Text Solutions Commercial Proprietary TEXTML Server IXIASOFT, Inc. Commercial Proprietary Tiger. Logic XDMS Raining Data Commercial Pick Timber University of Michigan Open Source (non-commercial only) Shore, Berkeley DB TOTAL XML Cincom Commercial Object-relational Virtuoso Open. Link Software Commercial Proprietary. Relational through ODBC XDBM Matthew Parry, Paul Sokolovsky Open Source Proprietary XDB ZVON. org Open Source Relational (Postgre. SQL) Xedi. X Tera. Solution AM 2 Systems Commercial Proprietary X-Hive/DB X -Hive Corporation Commercial Proprietary. Relational through JDBC Xindice Apache Software Foundation Open Source Proprietary xml. gax. com GAX Technologies Commercial Proprietary Xpriori XMS Xpriori Commercial Proprietary XQuantum XML Database Server Cognetic Systems Commercial Proprietary XStream. DB Native XML Database Bluestream Db. Soft. Corp. Commercial Proprietary Xyleme Zone Server Xyleme SA Commercial Proprietary Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 83
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 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 84
Ö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: – 2. virtuális obszervatóriumok tudományos adatbázisai (csillagászati, biológiai, részecskefizikai) Megfogalmaztuk a feladatot: – Nagy méretű (osztott) XML adatbázisok gyors lekérdezése Két lehetséges utat választottunk: 1. 2. 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. A natív XML adatbázishoz indexeket készítve gyorsítjuk a lekérdezés végrehajtását. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 85
Ö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 • • – 4. pre/post számozás intervallum címkézés strukturális indexek, amit részletesen áttekintettünk A strukturális indexek tömör formában tárolják a gráf struktúráját, útvonalkifejezéseit. a) • • b) • • • Az első ilyen index a Data. Guide, 1997 -ben jelent meg. A címkesorozatok a Data. Guide és az XML-gráfban pontosan megegyeznek. Egy sorozat csak egyszerepel az indexben. Probléma: A Data. Guide esetében az indexméret ciklikus gráf esetén nagyobb lehet, mint az adatbázis. 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ő Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 86
Összefoglalás 4. Speciális lekérdezésekre pontos index készítése c) //a 0/a 1/…/ak alakú lekérdezések • A(k)-index lokális hasonlóságon (kbiszimulá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 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 87
Összefoglalás 4. Speciális lekérdezésekre pontos index készítése e) //S 0/S 1/…/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) //S 0/S 1/…/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 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 88
Ö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 Faindexé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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 89
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] [Dietz 82] – 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. 802184 [Goldman & Widom VLDB 97] – Goldman, R. and Widom, J. 1997. Data. Guides: Enabling Query Formulation and Optimization in Semistructured Databases. In Proceedings of the 23 rd 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, 18 th International Conference on Data Engineering (ICDE'02), 2002 [Kiss 05] – Attila Kiss, Vu Le Anh A solution for regular queries on XML Data, (PUMA Volume 15 (2005), Issue No. 2, pp. 179 -202. [Kiss 06] – Attila Kiss, Vu Le Anh: Efficient Processing SAPE Queries Using the Dynamic Labelling Structural Indexes. ADBIS 2006: 232 -247 [Kiss 07] – Attila Kiss, Vu Le Anh: Efficient Processing Regular Queries In Shared-Nothing Parallel Database Systems Using Tree - And Structural Indexes. ADBIS 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", 7 th 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/0216062 Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 90
Köszönöm a figyelmet! Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 91
Függelék Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 92
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. Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 93
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/d 80386141 g 147453/ • 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/k 002 vfptpr 7 fv 2 j 5/ Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 94
Jövőkép 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. org/magazines/2009/6/28496 -the-claremont-report-ondatabase-research/pdf? dl=no Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 95
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) Kiss Attila Master dr. Informatique XML adatbázisok strukturális indexelése 96
- Slides: 96