xml adatbázisok strukturális indexelése (structural indexes of xml databases)

96
Master Informatique 2010.01.07. 1 dr. Kiss Attila XML adatbázisok strukturális indexelése XML adatbázisok strukturális indexelése (Structural indexes of XML Databases) dr. Kiss Attila [email protected]

Upload: kiara

Post on 04-Jan-2016

29 views

Category:

Documents


0 download

DESCRIPTION

XML adatbázisok strukturális indexelése (Structural indexes of XML Databases). dr. Kiss Attila kiss @ inf.elte.hu. Az előadás vázlata. Motiváció: XML alapú virtuális obszervatóriumok XML dokumentumok lekérdezéseinek kiértékelése XML dokumentumok indexelése Strukturális indexek - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 1dr. Kiss Attila XML adatbázisok strukturális indexelése

XML adatbázisok strukturális indexelése(Structural indexes of XML Databases)

dr. Kiss [email protected]

Page 2: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 2dr. Kiss Attila XML 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ése4. Strukturális indexek5. Strukturális indexek alkalmazása osztott XML

dokumentumok esetén6. XML adatbázisokkal kapcsolatos további

kutatási feladatok7. Összefoglalás

Page 3: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 3dr. Kiss Attila XML 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ése4. Strukturális indexek5. Strukturális indexek alkalmazása osztott XML

dokumentumok esetén6. XML adatbázisokkal kapcsolatos további

kutatási feladatok7. Összefoglalás

Page 4: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 4dr. Kiss Attila XML 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

Page 5: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 5dr. Kiss Attila XML 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.

Page 6: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 6dr. Kiss Attila XML 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.

Page 7: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 7dr. Kiss Attila XML adatbázisok strukturális indexelése

Az International Virtual  Observatory Alliance architektúrája

Forrás: http://www.ivoa.net/

Page 8: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 8dr. Kiss Attila XML 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.

Page 9: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 9dr. Kiss Attila XML 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.

Page 10: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 10dr. Kiss Attila XML 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ése4. Strukturális indexek5. Strukturális indexek alkalmazása osztott XML

dokumentumok esetén6. XML adatbázisokkal kapcsolatos további

kutatási feladatok7. Összefoglalás

Page 11: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 11dr. Kiss Attila XML 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

),,,,( labelrEVG VVVE

fb EEE bE

fE

VrVlabel :

Page 12: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 12dr. Kiss Attila XML adatbázisok strukturális indexelése

Publikációk XML dokumentumban<CSDepartment> <PhDStudents> <Student id="s1"> <Name>John</Name>

<Papers> <Paper id="pp1" > <Title>ABC</Title> <Author>Dr.Ben</Author> <Author idref="p1" > </Author> </Paper> </Papers> </Student> <Student id="s2"> <Name>Tom</Name> </Student> </PhDStudents> <Professors> <Professor id="p1" > …

… <Name>Dr. Kiss</Name> <Papers> <Paper idref="pp1" > </Paper> <Paper> <Title>DEF</Title> </Paper> </Papers> </Professor> <Professor id="p2"> <Name>Dr. Baker</Name> <Papers> <Paper> <Title>XYZ</Title> </Paper> </Papers> </Professor> </Professors></CSDepartment>

Page 13: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 13dr. Kiss Attila XML adatbázisok strukturális indexelése

Az XML adatgráf

Page 14: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 14dr. Kiss Attila XML 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

Page 15: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 15dr. Kiss Attila XML 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.

|),{(),( OIvuRGR IO

Page 16: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 16dr. Kiss Attila XML 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

CB2 6 A D9 13

AD B E3 107 14

DCA F4 5 1211 E 15

* B D

q0 q1 q2

q0

q0 q0

q0

q0

q0 q2 q0 q2

q1

q0

Folytatva a bejárást az eredmény = {(0,3),(0,11),(0,13)}

Page 17: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 17dr. Kiss Attila XML adatbázisok strukturális indexelése

Áttérés élcímkézett gráfokraCsú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.

Page 18: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 18dr. Kiss Attila XML 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.

Page 19: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 19dr. Kiss Attila XML adatbázisok strukturális indexelése

Az R:= a/(b|c)*/a és egy adatgráf SD-gráfja

s0 s1 s2

a

b

c

a

Lekérdezés gráfja:

Adatgráf:

5

4

3

2

1

ac

a

a

b

SD-gráf:

1,s0

2,s02,s1

1,s1

2,s2

a

b

3,s1

c

4,s2

a

5,s2

a5,s1

a

a

3,s0

4,s1

Eredmény: (1,4) , (1,5)

aAz SD-gráfban kezdő állapotból végállapotba hová lehet eljutni?

Page 20: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 20dr. Kiss Attila XML 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.

Page 21: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 21dr. Kiss Attila XML adatbázisok strukturális indexelése

1. lépés: Az adatgráf átírása élcímkézett gráfra

Page 22: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 22dr. Kiss Attila XML adatbázisok strukturális indexelése

2. lépés: A lekérdezés gráfjának megadása

Page 23: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 23dr. Kiss Attila XML adatbázisok strukturális indexelése

3. lépés: Felírjuk a DATALOG, illetve SQL lekérdezést

Page 24: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 24dr. Kiss Attila XML 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}

Page 25: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 25dr. Kiss Attila XML 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ése4. Strukturális indexek5. Strukturális indexek alkalmazása osztott XML

dokumentumok esetén6. XML adatbázisokkal kapcsolatos további

kutatási feladatok7. Összefoglalás

Page 26: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 26dr. Kiss Attila XML adatbázisok strukturális indexelése

Az XML indexeléseinek osztályozása1. É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

Page 27: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 27dr. Kiss Attila XML 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 < 5 és 7 > 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)

Page 28: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 28dr. Kiss Attila XML 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)

Page 29: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 29dr. Kiss Attila XML 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ése4. Strukturális indexek5. Strukturális indexek alkalmazása osztott XML

dokumentumok esetén6. XML adatbázisokkal kapcsolatos további

kutatási feladatok7. Összefoglalás

Page 30: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 30dr. Kiss Attila XML adatbázisok strukturális indexelése

A strukturális indexelési technikák megjelenése

Page 31: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 31dr. Kiss Attila XML 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.

Page 32: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 32dr. Kiss Attila XML 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

AB

B

C

D

C

D

A B

C

D

A B

DB G1 G2

Page 33: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 33dr. Kiss Attila XML 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

Page 34: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 34dr. Kiss Attila XML 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)

Page 35: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 35dr. Kiss Attila XML 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).

Page 36: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 36dr. Kiss Attila XML 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.

y1 y2

a

x1 a x2

b b

Page 37: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 37dr. Kiss Attila XML 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.

Page 38: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 38dr. Kiss Attila XML 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]

Page 39: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 39dr. Kiss Attila XML adatbázisok strukturális indexelése

Példa 1-indexre

1

paper

2,4,8,13section

3,5,9,14

title

6,10algorithm

7proof 11

proof12

uses

15,16

17,18about

exp

1-index

1

paper

4 section

5 title 6

algorithm

7proof

8section

9title

10

11proof

12

uses

algorithm

13 section14

15

16

17

18

about

about

title2

section

3

title

expexp

Adatgráf

/paper/section/algorithm

Page 40: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 40dr. Kiss Attila XML 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.

vI[v]

u

I[u]

v’

u’

I[u’]

I[v’]=

Page 41: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 41dr. Kiss Attila XML 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.

Page 42: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 42dr. Kiss Attila XML 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

Page 43: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 43dr. Kiss Attila XML 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’.

Page 44: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 44dr. Kiss Attila XML 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

directorname

{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

Page 45: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 45dr. Kiss Attila XML adatbázisok strukturális indexelése

Hasítás (Split) művelet

R

A B

C3

C6

C1 C2

C4 C5

R

A B

C2,C3C1

C4 C5,C6

R

A B

C2,C3C1

C4,C5,C6

R

A B

C1,C2,C3C4,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

Page 46: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 46dr. Kiss Attila XML adatbázisok strukturális indexelése

Finomítási sorozat (1. lépés)

R

A B

C3

C6

C1 C2

C4 C5

R

A B

C2,C3C1

C4 C5,C6

R

A B

C2,C3C1

C4,C5,C6

R

A B

C1,C2,C3C4,C5,C6

Adatgráf A(2) (=1-index) A(1) A(0)

Page 47: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 47dr. Kiss Attila XML adatbázisok strukturális indexelése

Finomítási sorozat (2. lépés)

R

A B

C3

C6

C1 C2

C4 C5

R

A B

C2,C3C1

C4 C5,C6

R

A B

C2,C3C1

C4,C5,C6

R

A B

C1,C2,C3C4,C5,C6

Adatgráf A(2) (=1-index) A(1) A(0)

Page 48: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 48dr. Kiss Attila XML 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.

Page 49: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 49dr. Kiss Attila XML adatbázisok strukturális indexelése

APEX index készítéseroot

publications

author author editor editor book

name name name name title

book

title

0

1

2

3

4

5

6

7

8

9

10

11

12

13

Page 50: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 50dr. Kiss Attila XML adatbázisok strukturális indexelése

root

publications

author author editor editor book

name name name 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

Page 51: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 51dr. Kiss Attila XML adatbázisok strukturális indexelése

name

bookeditorauthor

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

Page 52: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 52dr. Kiss Attila XML adatbázisok strukturális indexelése

name

bookeditorauthor

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

Page 53: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 53dr. Kiss Attila XML adatbázisok strukturális indexelése

name

bookeditorauthor

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

Page 54: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 54dr. Kiss Attila XML adatbázisok strukturális indexelése

name

bookeditorauthor

root

publications

title

1e: Az indexcsúcsokhoz készítünk egy Hash indexet.

Index:authorbookeditornamepubl.title

1. lépés: Címke szerinti osztályozás

Page 55: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 55dr. Kiss Attila XML 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.

Page 56: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 56dr. Kiss Attila XML adatbázisok strukturális indexelése

name

bookeditorauthor

3. lépés: Az index frissítése a gyakori lekérdezések alapján

root

publications

title

name

adatcsúcsok:

3,5adatcsúcsok:

7,11

Index:…name…

authorother

//author/name

Page 57: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 57dr. Kiss Attila XML adatbázisok strukturális indexelése

name

bookeditorauthor

root

publications

title

name

//book/author/name

name

adatcsúcsok:

3adatcsúcsok:

5adatcsúcsok:

7,11

Index:…name…

authorother

bookother

3. lépés: Az index frissítése a gyakori lekérdezések alapján

Page 58: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 58dr. Kiss Attila XML 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.

Page 59: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 59dr. Kiss Attila XML adatbázisok strukturális indexelése

A //(d|e)/f SAPE lekérdezés

0

1 2

64 5

3

7 8

9 10 11 12 13

a

bb

d

c

de

f

e

f f f

d

g

Adatgráf A lekérdezés: //(d|e)/fR := S0/S1 ,aholS0= { d,e } ; S1= { f }

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}

Page 60: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 60dr. Kiss Attila XML 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.

Page 61: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 61dr. Kiss Attila XML adatbázisok strukturális indexelése

A stabilitás definíciója hasítási művelettel

• Definíció: split0(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)≥…≥ split1(C) ≥ split0(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.

Page 62: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 62dr. Kiss Attila XML 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):

P0=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.

Page 63: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 63dr. Kiss Attila XML adatbázisok strukturális indexelése

A //(K|L) és //(B|C)/E lekérdezéseket támogatóDL-1-index

0

1 2 3 4

5 6 7 8

9 10 11 12

A

B

EE

C

F

C D

E

ML NK

Az adatgráf és az 1-index megegyezik.

0 A

1,2,3,4K,L,M,N

5,6,7,8B,C,D

9,10,11,12E,F

A kiindulási DL-1-index.

0 A

1,2K,L

3,4M,N

5,6B,C

7,8C,D

9,10E

11,12E,F

0 A

1,2K,L

5,6B,C

9,10E

3,4M,N

7 8

11 12

C

F

D

E(a) (b) (c) (d)

Az R1= //(K|L) szerint tovább finomítva

Az R2= //(B|C)/Eszerint tovább finomítva

Page 64: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 64dr. Kiss Attila XML adatbázisok strukturális indexelése

k-stabil strukturális indexek• Definíció: A k-stabil indexet egy olyan

(P0,P1,…,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: P0 U P1U…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

Page 65: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 65dr. Kiss Attila XML adatbázisok strukturális indexelése

A DL-A*(k)-index [Kiss06]

• 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.

Page 66: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 66dr. Kiss Attila XML adatbázisok strukturális indexelése

A //(K|L) és //(B|C)/E lekérdezéseket támogatóDL-A*(1)-index

0

1 2 3 4

5 6 7 8

9 10 11 12

A

B

EE

C

F

C

MLK

D

E

N

Adatgráf

A kiindulási index:

//(K|L) -lel finomítva:

//(B|C)/E -vel finomítva:

Page 67: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 67dr. Kiss Attila XML 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.

Page 68: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 68dr. Kiss Attila XML 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.

Page 69: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 69dr. Kiss Attila XML 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ése4. Strukturális indexek5. Strukturális indexek alkalmazása osztott

XML dokumentumok esetén6. XML adatbázisokkal kapcsolatos további

kutatási feladatok7. Összefoglalás

Page 70: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 70dr. Kiss Attila XML 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 Háttértár Háttértár

memória

P1

memória

P2

memória

Pn

Page 71: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 71dr. Kiss Attila XML 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?

Page 72: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 72dr. Kiss Attila XML 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

Page 73: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 73dr. Kiss Attila XML 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

q0

q0

q0 q1

F1

F0

Page 74: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 74dr. Kiss Attila XML 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!

Page 75: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 75dr. Kiss Attila XML 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.

Page 76: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 76dr. Kiss Attila XML 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ásHátrány: a központ tárigénye nő a strukturális indexek tárolása miatt.

Page 77: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 77dr. Kiss Attila XML adatbázisok strukturális indexelése

Strukturális Fa-index

A F00 F3

1

2

A B8

F2 F4F13

4 5

10

6

12

14

13

1511A C

D

CB

F

E

D

D

B

A

A

E

7

F5 Fa-index

A F0

A F2 BF3

B F4

DF1

DF5

ε

ABAC

A

εq0

q0 q1

(F2,q1), (F2,q2): nem érhető el

q0

q0

q0q0 q1

Elérhető állapotok(F0,q0), (F1,q0), …

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.

Page 78: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 78dr. Kiss Attila XML 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

Page 79: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 79dr. Kiss Attila XML 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ése4. Strukturális indexek5. Strukturális indexek alkalmazása osztott XML

dokumentumok esetén6. XML adatbázisokkal kapcsolatos további

kutatási feladatok7. Összefoglalás

Page 80: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 80dr. Kiss Attila XML 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

Page 81: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 81dr. Kiss Attila XML 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, FranceXML-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

Page 82: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 82dr. Kiss Attila XML adatbázisok strukturális indexelése

Natív XML adatbázis-kezelőkhttp://www.rpbourret.com/xml/XMLDatabaseProds.htm#native

Termék Fejlesztő License Adatbázistípus4Suite, 4Suite Server FourThoughtOpen Source Object-orientedBerkeley DB XML Oracle Open Source Key-valueBirdstep RDM Mobile Birdstep Technology / Raima Commercial Object-

oriented, relational, network, hierarchicalDBDOM K. Ari Krupnikov Open Source RelationaldbXML dbXML Group Open Source ProprietaryDieselpoint Dieselpoint, Inc. Commercial None (indexes only)DOMSafeXML Ellipsis Commercial File systemeXist Wolfgang Meier Open Source ProprietaryeXtc M/Gateway Developments Ltd. Free Post-relationalExtraway 3D Informatica Commercial Files plus indexesInfonyte DBInfonyte Commercial ProprietaryIpedo XML Database Ipedo Commercial ProprietaryLore Stanford University Research Semi-structuredMarkLogic Server Mark Logic Corp. Commercial ProprietaryM/DB:X M/Gateway Developments Ltd. Free HierarchicalmyXMLDB Mladen Adamovic Open Source MySQLNatix University of Mannheim Free / non-commercial Proprietaryozone ozone-db.org Open Source Object-oriented

Page 83: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 83dr. Kiss Attila XML adatbázisok strukturális indexelése

Natív XML adatbázis-kezelők http://www.rpbourret.com/xml/XMLDatabaseProds.htm#native

Termék Fejlesztő License AdatbázistípusQizx/db XMLMind Commercial ProprietarySedna XML DBMS ISP RAS MODIS Free ProprietarySekaiju / Yggdrasill Media Fusion Commercial ProprietarySQL/XML-IMDB QuiLogic Commercial Proprietary (native XML and relational)Sonic XML Server Sonic Software Commercial Object-oriented (ObjectStore).Tamino Software AG Commercial Proprietary. Relational through ODBC.TeraText DBS TeraText Solutions Commercial ProprietaryTEXTML Server IXIASOFT, Inc.Commercial ProprietaryTigerLogic XDMS Raining Data Commercial PickTimber University of Michigan Open Source (non-commercial only) Shore, Berkeley DBTOTAL XML Cincom Commercial Object-relationalVirtuoso OpenLink Software Commercial Proprietary. Relational through ODBCXDBM Matthew Parry, Paul Sokolovsky Open Source ProprietaryXDB ZVON.org Open Source Relational (PostgreSQL)XediX TeraSolution AM2 Systems Commercial ProprietaryX-Hive/DB X -Hive Corporation Commercial Proprietary. Relational through JDBCXindice Apache Software Foundation Open Source Proprietaryxml.gax.com GAX Technologies Commercial ProprietaryXpriori XMS Xpriori Commercial ProprietaryXQuantum XML Database Server Cognetic Systems Commercial ProprietaryXStreamDB Native XML Database Bluestream Db. Soft. Corp. Commercial ProprietaryXyleme Zone Server Xyleme SA Commercial Proprietary

Page 84: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 84dr. Kiss Attila XML 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ése4. Strukturális indexek5. Strukturális indexek alkalmazása osztott XML

dokumentumok esetén6. XML adatbázisokkal kapcsolatos további

kutatási feladatok7. Összefoglalás

Page 85: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 85dr. Kiss Attila XML 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.

Page 86: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 86dr. Kiss Attila XML 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ünk4. 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ő

Page 87: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 87dr. Kiss Attila XML 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

Page 88: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 88dr. Kiss Attila XML 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ásaf) //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

Page 89: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 89dr. Kiss Attila XML adatbázisok strukturális indexelése

Összefoglalás5. 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.

Page 90: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 90dr. Kiss Attila XML 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]

• [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.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-247

• [Kiss07]– 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", 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/0216062

Page 91: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 91dr. Kiss Attila XML adatbázisok strukturális indexelése

Köszönöm a figyelmet!

Page 92: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 92dr. Kiss Attila XML 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?

Page 93: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 93dr. Kiss Attila XML 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.

Page 94: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 94dr. Kiss Attila XML 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/

• 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/

Page 95: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 95dr. Kiss Attila XML 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

Page 96: XML adatbázisok strukturális indexelése (Structural indexes of XML Databases)

Master Informatique 2010.01.07. 96dr. Kiss Attila XML 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)