xml adatbázisok strukturális indexelése (structural indexes of xml databases)
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 PresentationTRANSCRIPT
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]
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
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
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
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.
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.
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/
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.
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.
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
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 :
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>
Master Informatique 2010.01.07. 13dr. Kiss Attila XML adatbázisok strukturális indexelése
Az XML adatgráf
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
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
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)}
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.
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.
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?
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.
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
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
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
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}
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
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
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)
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)
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
Master Informatique 2010.01.07. 30dr. Kiss Attila XML adatbázisok strukturális indexelése
A strukturális indexelési technikák megjelenése
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.
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
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
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)
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).
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
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.
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]
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
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’]=
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.
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
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’.
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
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
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)
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)
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.
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
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
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
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
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
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
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.
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
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
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.
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}
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.
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.
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.
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
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
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.
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:
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.
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.
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
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
…
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?
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
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
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!
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.
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.
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.
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
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
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
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
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
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
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
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.
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ő
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
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
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.
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
Master Informatique 2010.01.07. 91dr. Kiss Attila XML adatbázisok strukturális indexelése
Köszönöm a figyelmet!
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?
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.
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/
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
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)