XML adatb - PowerPoint PPT Presentation

About This Presentation
Title:

XML adatb

Description:

Title: PowerPoint Presentation Last modified by: kiss Created Date: 1/1/1601 12:00:00 AM Document presentation format: Diavet t s a k perny re – PowerPoint PPT presentation

Number of Views:107
Avg rating:3.0/5.0
Slides: 97
Provided by: elt94
Category:

less

Transcript and Presenter's Notes

Title: XML adatb


1
XML adatbázisok strukturális indexelése(Structura
l indexes of XML Databases)
  • dr. Kiss Attila
  • kiss_at_inf.elte.hu

2
Az eloadás vázlata
  1. Motiváció XML alapú virtuális obszervatóriumok
  2. XML dokumentumok lekérdezéseinek kiértékelése
  3. XML dokumentumok indexelése
  4. Strukturális indexek
  5. Strukturális indexek alkalmazása osztott XML
    dokumentumok esetén
  6. XML adatbázisokkal kapcsolatos további kutatási
    feladatok
  7. Összefoglalás

3
  1. Motiváció XML alapú virtuális obszervatóriumok
  2. XML dokumentumok lekérdezéseinek kiértékelése
  3. XML dokumentumok indexelése
  4. Strukturális indexek
  5. Strukturális indexek alkalmazása osztott XML
    dokumentumok esetén
  6. XML adatbázisokkal kapcsolatos további kutatási
    feladatok
  7. Összefoglalás

4
Nagy tudományos adatbázisok
  • Nagyon nagy adathalmazokat elsosorban
    méromuszerek állítanak elo
  • Szenzorok
  • Teleszkópok
  • Részecskegyorsítók
  • Génlapok

5
Virtuális obszervatóriumok
  • A tudományos közösségek felismerték, hogy együtt
    hatékonyabban tudják feldolgozni, elemezni az
    adathalmazokat.
  • Ha csatlakoznak egy Virtuális Obszervatórium-
    hoz, akkor
  • megoszthatják az adataikat, feldolgozási
    eljárásaikat, eredményeiket és
  • hozzáférhetnek mások adataihoz, eljárásaihoz,
    eredményeihez.

6
A virtuális obszervatórium feladatai
  • Osztott XML adatbázisok Több terabájtnyi
    speciális formátumú (elsosorban XML) adat osztott
    tárolása hatékony struktúrában.
  • Hatékonyság Az adatok gyors eléréséhez
    lekérdezonyelvek, valamint olyan struktúrák
    definiálása, amelyek segítségével a lekérdezo
    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, elofeldolgozás.
  • Adatbányászat Hatékony, lehetoség szerint GRID
    alapú osztott adatbányászati módszerek beépítése.
  • Vizualizáció Az elemzések eredményeinek
    vizualizációja.

7
Az International Virtual  Observatory Alliance
architektúrája
Forrás http//www.ivoa.net/
8
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 megfelelo XML gráf.
9
A feladat megfogalmazása
  • A következo feladatot vizsgáljuk
  • Nagy méretu (osztott) XML adatbázisok gyors
    lekérdezése
  • Két lehetséges út
  • 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.
  • Az XML adatbázishoz indexeket készítünk, és az
    eredeti lekérdezést az indexek segítségével
    számoljuk ki.

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

11
Az XML dokumentumnak megfelelo 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ézo függvény

12
Publikációk XML dokumentumban
  • ltCSDepartmentgt
  • ltPhDStudentsgt
  • ltStudent id"s1"gt
  • ltNamegtJohnlt/Namegt
  • ltPapersgt
  • ltPaper id"pp1" gt
  • ltTitlegtABClt/Titlegt
  • ltAuthorgtDr.Benlt/Authorgt
  • ltAuthor idref"p1" gt
  • lt/Authorgt
  • lt/Papergt
  • lt/Papersgt
  • lt/Studentgt
  • ltStudent id"s2"gt
  • ltNamegtTomlt/Namegt
  • lt/Studentgt
  • lt/PhDStudentsgt
  • ltProfessorsgt
  • ltProfessor id"p1" gt
  • ltNamegtDr. Kisslt/Namegt
  • ltPapersgt
  • ltPaper idref"pp1" gt lt/Papergt
  • ltPapergt
  • ltTitlegtDEFlt/Titlegt
  • lt/Papergt
  • lt/Papersgt
  • lt/Professorgt
  • ltProfessor id"p2"gt
  • ltNamegtDr. Bakerlt/Namegt
  • ltPapersgt
  • ltPapergt
  • ltTitlegtXYZlt/Titlegt
  • lt/Papergt
  • lt/Papersgt
  • lt/Professorgt
  • lt/Professorsgt
  • lt/CSDepartmentgt

13
Az XML adatgráf
14
Reguláris lekérdezések
  • Az XML-nek számos lekérdezo nyelve létezik.
  • XQuery, XPath, UnQL, Lorel, XQL, XML-QL, stb.
  • Ezek mindegyike a reguláris (ösvény)kifejezéseken
    alapul.
  • 3 muvelet használható
  • Konkatenáció . vagy /
  • Unió
  • Iteráció
  • Rövidítések
  • _ - az ábécé tetszoleges eleme
  • // - (_)
  • Például //(Student Professor)//Paper/Title

15
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 Igyökér és OV.
  • Minden R reguláris kifejezéshez megadható egy
    véges, nem determinisztikus automata (NFA), amely
    az L(R) nyelvet ismeri fel. Ennek állapotátmenet
    gráfja az R lekérdezés gráfja.

16
A lekérdezés kiértékelése az automata alapján

B
D
  • //B/D lekérdezés gráfja
  • Input I0 Output O0,1,,15

q0
q1
q2
q0
A
0
A
1
q0
q0
B
8
q0
C
B
2
6
q0
A
D
9
13
D
3
q0
q1
A
7
B
E
10
14
C
A
4
q0 q2
q0 q2
5
D
12
11
E
F
15
Folytatva a bejárást az eredmény
(0,3),(0,11),(0,13)
17
Áttérés élcímkézett gráfokra
Csúcscímkézett gráf
A megfelelo élcímkézett gráf
A lekérdezés gráfja élcímkézett, ezért az
adatgráfot is élcímkézetté alakítjuk.
18
SD-gráf
  • A reguláris kifejezésre illeszkedést
    visszavezetjük egyszeru elérhetosé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üggo.
  • Csúcsai (adatcsúcs, állapot) párok
  • Címkézett élei ha egy adott állapotban egy adott
    csúcsban vagyunk, akkor adott címkéju adat élen
    melyik csúcsba, milyen állapotba jutunk.

19
Az R a/(bc)/a és egy adatgráf SD-gráfja
b
Lekérdezés gráfja
Adatgráf
1
a
b
a
a
s0
s1
s2
2
c
a
5
3
c
a
SD-gráf
4
1,s0
1,s1
a
a
Az SD-gráfban kezdo állapotból végállapotba hová
lehet eljutni?
2,s0
2,s1
2,s2
a
b
c
5,s1
3,s1
3,s0
Eredmény (1,4) , (1,5)
a
a
4,s2
5,s2
a
4,s1
20
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 megfelelo reláció a
    két reláció összekapcsolása.
  • A lekérdezés elérhetoséget jelent az SD-gráfban.
  • Az elérhetoség rekurzív, negációt nem tartalmazó
    DATALOG programmal adható meg a reprezentáló
    relációkra nézve.
  • A Datalog program rekurzív SQL utasításra írható
    át.
  • Az SQL kiértékelését a relációkra vonatkozó
    indexeléssel gyorsíthatjuk.

21
1. lépés Az adatgráf átírása élcímkézett gráfra
22
2. lépés A lekérdezés gráfjának megadása
23
3. lépés Felírjuk a DATALOG, illetve SQL
lekérdezést
24
4. lépés Eloállítjuk a reprezentáló relációkat,
és kiszámítjuk az SQL lekérdezést
Az eredmény 4,5,6
25
  1. Motiváció XML alapú virtuális obszervatóriumok
  2. XML dokumentumok lekérdezéseinek kiértékelése
  3. XML dokumentumok indexelése
  4. Strukturális indexek
  5. Strukturális indexek alkalmazása osztott XML
    dokumentumok esetén
  6. XML adatbázisokkal kapcsolatos további kutatási
    feladatok
  7. Összefoglalás

26
Az XML indexeléseinek osztályozása
  • Értékek indexelése
  • az atomi értékeket (például data(//emp/salary))
    indexeljük
  • általában B-fákat használunk
  • 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ítheto
  • Strukturális címkézés (számozási sémák)
  • az elod/utód reláció gyors eldöntésére szolgál
  • Strukturális indexek
  • materializálja adott típusú ösvénykifejezések
    eredményeit

27
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üggoen, hogy hányadik a bejárási
    sorrendben.
  • Például
  • 1 lt 5 és 7 gt 3 gt (1,7)-nek utódja az (5,3)

(1,7)
(6,6)
(2,4)
x-nek y az utódja ltgt pre(x) lt pre(y) és
post(x) gt post(y)
(7,5)
(3,1)
(5,3)
(4,2)
28
Intervallum kódolás LiMoon 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) lt order(y)
  • order(y)size(y) lt order(x) size(x)
  • Ha a preorder sorrend szerint x megelozi az y
    testvérét, akkor
  • order(x) size(x) lt order(y)

(1,100)
(41,10)
(10,30)
(45,5)
(25,5)
(11,5)
(17,5)
x-nek y az utódja ltgt order(x) lt order(y) és
order(y) lt order(y) size(x)
29
  1. Motiváció XML alapú virtuális obszervatóriumok
  2. XML dokumentumok lekérdezéseinek kiértékelése
  3. XML dokumentumok indexelése
  4. Strukturális indexek
  5. Strukturális indexek alkalmazása osztott XML
    dokumentumok esetén
  6. XML adatbázisokkal kapcsolatos további kutatási
    feladatok
  7. Összefoglalás

30
A strukturális indexelési technikák megjelenése
31
A DG-index (DataGuide) Goldman Widom VLDB
97
  • Legyen egy XML dokumentum gráfja DB.
  • A DB gráf DG-indexe (Adatvezeto indexe) egy olyan
    G gráf, melyre a következok teljesülnek
  • A DB minden címke útvonala szerepel G-ben is.
  • G lefedi DB-t
  • A G minden címke útvonala szerepel DB-ben is.
  • G pontosan DB-t fedi le.
  • A G minden címke útvonala egyedi egy adott
    csúcsból kiindulva.

32
A DG-index nem egyértelmu
  • 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.

A
B
B
DB G1 G2
33
Eros 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öztetheto meg a G
    gráfon.
  • G a DB eros DG-indexe, ha G és DB
    ekvivalenciarelációk megegyeznek.
  • Például
  • G1 eros G2 nem eros
  • A.C(DB) 5 , B.C(DB) 6, 7
  • A.C(G2) 20 , B.C(G2) 20

DB G1 G2
34
Naiv index
  • Definiáljunk egy ekvivalenciarelációt a DB gráf
    csúcsain
  • uv ha u és v ugyanazokkal a címke útvonalakkal
    érhetok el a gyökérbol. (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-bol 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éju 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 tetszoleges 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 eloállítása
    (PSPACE-complete)

35
1-index Milo Suciu, LNCS 1997
  • ÖtIet használjunk biszimuláció
    ekvivalenciarelációt a megkülönböztet-hetetlenségi
    ekvivalencia helyett.
  • Erosebb lesz a feltétel ? finomabb osztályozást
    kapunk ? több indexcsúcs lesz.
  • Biztonságos és pontos indexet kapunk.
  • A biszimulációt könnyebb kiszámolni (PTIME).

36
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-bol él x1-be, akkor
    létezik egy olyan y2-bol él x2-be, melyre y1 ?
    y2, és ez fordítva is igaz.

?
b
b
?
x1
x2
a
a
37
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 megfelelo
    osztályozása a csúcsoknak.

38
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-bol
  • Álljunk meg, ha már nincs mit kidobni.
  • A futási ido O(mn), ahol m az élek, n a csúcsok
    száma.
  • Javítani lehet a PT-algoritmussal
  • O((mn)log(mn)) Paige Tarjan 87

39
Példa 1-indexre
paper
paper
1
1
13
section
section
14
title
section
2
2,4,8,13
section
8
4
section
15
3
exp
exp
title
algorithm
exp
algorithm
16
title
15,16
10
3,5,9,14
6,10
6
9
algorithm
title
5
title
18
proof
about
11
17,18
proof
17
7
proof
7
about
11
about
uses
proof
12
12
/paper/section/algorithm
uses
Adatgráf
1-index
40
1-index
  • Ha a gráf fa, akkor az
  • 1-index, naiv index, eros 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ülo indexcsúcsok tartoznak.
  • Az 1-index minden indexcsúcsa stabil.

u
u
Iu
Iu
Iv
Iv

v
v
41
Mire legyen pontos az index?
  • Elony Az 1-index tetszoleges 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 ellenorizni kell.

42
Lekérdezéshalmazokhoz készített pontos indexek
  • Fontosabb lekérdezéshalmazok
  • //a0/a1//ai (iltk) 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
  • Elore-hátra lekérdezések (Például parent és child
    tengely is szerepel.)
  • FB-index

43
A(k)-Index Kaushik et al. 02
  • A //a0/a1//ai (iltk) 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-bol van él u-ba, akkor létezik olyan v,
    amelybol van él v-be és u ?k-1 v
  • ha v-bol van él v-be, akkor létezik olyan u,
    amelybol van él u-ba és u ?k-1 v.

44
A(k)-index
  • Egyre jobban finomodó (lt) indexeket kapunk
  • A(0) a címkék szerinti ekvivalencia
  • A(0)ltA(1)ltA(2)ltltA(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üloi az
    A(k-1)-indexben.

45
Hasítás (Split) muvelet
R
R
R
R
A
B
A
B
A
B
A
B
C3
C1
C2
C2,C3
C1
C2,C3
C1
C1,C2,C3 C4,C5,C6
C6
C4
C5
C4
C5,C6
C4,C5,C6
Adatgráf A(2) (1-index)
A(1) A(0)
Az algoritmusok hasítási muveletet használnak -
ha egy osztály nem stabil, akkor kettévágjuk, úgy
hogy stabil legyen
46
Finomítási sorozat (1. lépés)
R
R
R
R
A
B
A
B
A
B
A
B
C3
C1
C2
C2,C3
C1
C2,C3
C1
C1,C2,C3 C4,C5,C6
C6
C4
C5
C4
C5,C6
C4,C5,C6
Adatgráf A(2) (1-index)
A(1) A(0)
47
Finomítási sorozat (2. lépés)
R
R
R
R
A
B
A
B
A
B
A
B
C3
C1
C2
C2,C3
C1
C2,C3
C1
C1,C2,C3 C4,C5,C6
C6
C4
C5
C4
C5,C6
C4,C5,C6
Adatgráf A(2) (1-index)
A(1) A(0)
48
APEX Chung et al., SIGMOD 2002
  • APEX Adaptive Path IndEx for XML Data
  • A címke szerinti osztályozásból, az A(0)-indexbol
    indul ki.
  • A gyakori lekérdezéseket figyelembe csak azokat
    az osztályokat hasítja ketté, amelyek a gyakori
    lekérdezések megválaszolásához szükségesek. (A
    gyakori lekérdezésekre pontos index.)
  • Az indexcsúcsokat Hash-táblában tartja nyilván,
    amit hasításkor módosít.

49
APEX index készítése
root
0
publications
1
author
author
editor
editor
book
4
6
10
12
2
name
name
name
name
title
5
13
3
7
11
book
8
title
9
50
1. lépés Címke szerinti osztályozás
root
0
publications
1
author
author
editor
editor
book
4
6
10
12
2
name
name
name
name
title
5
13
3
7
11
book
8
1aAz azonos címkéju csúcsokat összevonjuk.
title
9
51
1. lépés Címke szerinti osztályozás
root
publications
editor
author
book
title
name
1b Hozzáadjuk az osztályok közti éleket
fordított sorrendben.
52
1. lépés Címke szerinti osztályozás
root
publications
editor
author
book
title
name
1c Letároljuk, hogy az osztályokhoz milyen
adatcsúcsok tartoznak
adatcsúcsok3,5,7,11
53
1. lépés Címke szerinti osztályozás
root
publications
editor
author
book
title
name
adatélek(2,3)(4,5)
1d Letároljuk, hogy az indexélek milyen
adatéleknek felelnek meg.
54
1. lépés Címke szerinti osztályozás
root
publications
editor
author
book
title
Indexauthorbookeditornamepubl.title
name
1e Az indexcsúcsokhoz készítünk egy Hash indexet.
55
2. lépés Keresés az index alapján
  • //namea name indexcsúcsból kiolvassuk az
    adatcsúcsokat
  • //author/namea 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 elore elvégezhetjük, azaz
  • kettévágjuk a name indexcsúcsot és
  • a Hash-indexet is frissítjük.

56
3. lépés Az index frissítése a gyakori
lekérdezések alapján
//author/name
root
publications
editor
author
book
title
name
name
57
3. lépés Az index frissítése a gyakori
lekérdezések alapján
//book/author/name
root
publications
editor
author
book
title
name
name
name
58
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) elore adott
    véges sok SAPE lekérdezéshez igazítja az
    A(0)-indexet.

59
A //(de)/f SAPE lekérdezés
Adatgráf
A lekérdezés //(de)/f R S0/S1 ,ahol S0
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
a
0
1
2
3
b
b
c
6
4
5
7
8
d
d
e
e
d
f
9
10
11
12
13
f
f
f
g
60
Matematikai elokészítés
A továbbiakban minden halmazról, gráfról
feltesszük a végességet.
  • u csúcs gyerekei
  • Succ(u) v u-ból létezik él v-be
  • H halmaz gyerekei
  • Succ(H)?Succ(u)
  • 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
61
A stabilitás definíciója hasítási muvelettel
  • Definíció split0(C) CRF(C),
  • split(C) CRF(C U
    Succ(CRF(C)))
  • splitk1(C)split(splitk(C))
  • Tulajdonság
  • - Monoton finomodó sorozatot kapunk
  • splitk(C) split1(C) split0(C)
  • - egy indextol kezdve nincs változás. Ezt hívjuk
    fixpontnak split8(C).
  • Definíció A P partíció stabil, ha split(P)P.
  • Tulajdonság
  • - split8(P) a P legdurvább stabil finomítása.

62
A DL-1-index
  • Konstrukció
  • A kiindulási indexhez tartozó partíció legyen a
    következo (V(G) a gráf csúcshalmaza)
  • P0split8(V(G))
  • A DL1-REFINE algoritmussal finomítjuk tovább a
    partíciót az elore adott SAPE lekérdezésekkel.
  • Tulajdonságok
  • Az 1-index a DL-1-index finomítása.
  • A konstrukcióval kapott DL-1-index pontos az
    adott SAPE lekérdezésekre nézve.

63
A //(KL) és //(BC)/E lekérdezéseket
támogatóDL-1-index
A
A
A
A
0
0
0
0
K,L,M,N
K,L
M,N
K,L
M,N
1
2
3
4
1,2,3,4
1,2
3,4
1,2
3,4
M
N
K
L
B,C,D
B,C
C,D
B,C
5
6
7
8
5,6
7,8
5,6
5,6,7,8
7
8
B
C
C
D
C
D
E,F
E
E,F
E
9
10
11
12
9,10,11,12
11,12
9,10
9,10
11
12
E
E
F
E
F
E
(c)
(d)
(a)
(b)
A kiindulási DL-1-index.
Az adatgráf és az 1-index megegyezik.
Az R1 //(KL) szerint tovább finomítva
Az R2 //(BC)/E szerint tovább finomítva
64
k-stabil strukturális indexek
  • Definíció A k-stabil indexet egy olyan
    (P0,P1,,Pk) partíciósorozattal definiáljuk ,
    melyre
  • a Pi partíció és Pi1split(Pi) (i0,1,,k-1).
  • Az indexcsúcsok halmaza a partíciós tagok
    összessége P0 U P1UU Pk
  • 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? Pt1

65
A DL-A(k)-index Kiss06
  • Konstrukció
  • A kiindulási DL-A(k)-indexet a
  • (Pmin, split(Pmin),, splitk(Pmin)) alapján
    definiáljuk, ahol Pmin V(G)
  • Az AK-REFINE algoritmussal finomítjuk tovább a
    partíciót az elore adott SAPE lekérdezésekkel.
  • Tulajdonságok
  • Az A(i)-index a Pi finomítása.
  • A konstrukcióval kapott DL-A(k)-index pontos az
    adott legfeljebb k hosszú SAPE lekérdezésekre
    nézve.

66
A //(KL) és //(BC)/E lekérdezéseket
támogatóDL-A(1)-index
A kiindulási index
A
//(KL) -lel finomítva
0
1
2
3
4
N
M
K
L
5
6
7
8
D
B
C
C
//(BC)/E -vel finomítva
9
10
11
12
E
E
E
F
Adatgráf
67
Kísérleti eredmények
  • Tesztadatokon összehasonlítottuk a
  • DL-1-indexet az 1-indexszel, illetve a
  • 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özo, SAPE
    lekérdezéseket tartalmazó halmazt generáltunk,
    minden lekérdezés legfeljebb 5 hosszú és a
    halmazok 100 elemuek.

68
A kísérletek alapján a DL-1 és DL-A(k)-index
mérete, és az index alapján történo kiértékelés
is jobb, mint az 1-index, illetve A(k)-index
esetében.
69
  1. Motiváció XML alapú virtuális obszervatóriumok
  2. XML dokumentumok lekérdezéseinek kiértékelése
  3. XML dokumentumok indexelése
  4. Strukturális indexek
  5. Strukturális indexek alkalmazása osztott XML
    dokumentumok esetén
  6. XML adatbázisokkal kapcsolatos további kutatási
    feladatok
  7. Összefoglalás

70
Az SNPDS (Shared-Nothing Parallel Database
System) osztott környezet
Hálózat
P1
P2
Pn

memória
memória
memória
Háttértár
Háttértár
Háttértár
  • A munkaállomások saját processzorral, memóriával,
    háttértárral rendelkeznek, amihez a többi állomás
    nem férhet hozzá.
  • Hálózaton keresztül küldhetnek egymásnak
    üzeneteket, lekérdezéseket, adatokat.

71
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ébol átmenetél vezet egy másik
    állomás töredékének gyökeréhez.
  • Feladat Milyen üzetváltási protokollal érdemes a
    reguláris lekérdezéseket kiértékelni?
  • Lehet-e strukturális indexekkel jobb eredményt
    elérni?

72
A //a/b//a lekérdezés kiértékelése 2 állomásra
szétosztott XML-fán
73
Átmeneti élek
  • A lekérdezés kiértékelés a reguláris kifejezésnek
    megfelelo automatával történik.
  • Probléma egyik töredékbol á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 foállomást
    értesítünk róla (párhuzamos modell)

q0
A
0
F0
A
1
q0
F1
q0 q1
B
2
74
Folyam modell (SPIDER algoritmus)
  • A gyökértöredékbol indulunk.
  • Ha egy (F, q) ? (F, q) átmeneti élhez jutunk a
    feldolgozásban
  • Az F feldolgozása megáll.
  • Az F feldolgozása a q állapottal elindul.
  • Ha F feldolgozása elkészült, akkor elküldi az
    eredményt F-nek, amely folytatja a feldolgozást.
  • Várakozási ido nagy!

75
Kétfázisú párhuzamos modell
  • Minden töredék minden állapotot feltételezve
    kiszámítja a saját részeredményeit.
    (Elofeldolgozá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érheto á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, amibol a központi állomás kiszámolja a
    végeredményt.

76
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érheto á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étol 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érheto
    (F,q) állapotokat küldi szét, majd a beérkezo
    részeredményekbol összerakja a végeredményt.
  • Elony gyorsabb feldolgozás
  • Hátrány a központ tárigénye no a strukturális
    indexek tárolása miatt.

77
Strukturális Fa-index
F0
A
0
q0
A
F0
F3
AB
e
1
A
B
8
F5
AC
Fa-index
q0
A
F2
B
F3
D
F1
2
6
13
C
B
D
A
q0 q1
q0
A
e
F2
F4
F1
B
F4
D
F5
3
10
14
D
E
B
A
7
q0 q1
q0
4
5
12
15
11
A
C
F
D
E
Elérheto állapotok (F0,q0), (F1,q0),
(F2,q1), (F2,q2) nem érheto el
A Fa-index csúcsai a töredékek gyökércsúcsai. Az
éleket megcímkézzük azzal a címkesorozattal,
amelyet a töredéken keresztülhaladva kapunk.
78
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életlenszeruen szétosztva
  • 10 reguláris kifejezést vizsgáltunk
  • Az eredményeket átlagoltuk.
  • Várakozási ido
  • 1IP 2P SP 1 1.94 37.52
  • Kiszámítási ido (kommunikációt és indexelést is
    beleértve)
  • 1IP 2P SP 1 1.77 2.75

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

80
Klasszikus feladatok XML-re
  • A klasszikus relációs adatbázis-kezelési
    technológiákat XML adatbázisokra is ki kell
    terjeszteni
  • hatékony tárolás (natív vagy relációs
    adatbázisban)
  • hatékony karbantartás (indexeket is)
  • jogosultságok kezelése
  • tranzakció-kezelés
  • adatbányászat

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

82
Natív XML adatbázis-kezelokhttp//www.rpbourret.c
om/xml/XMLDatabaseProds.htmnative
  • Termék Fejleszto License Adatbázistípus
  • 4Suite, 4Suite Server FourThoughtOpen Source
    Object-oriented
  • Berkeley DB XML Oracle Open Source Key-value
  • Birdstep RDM Mobile Birdstep Technology / Raima
    Commercial Object-oriented, relational, network,
    hierarchical
  • DBDOM K. Ari Krupnikov Open Source Relational
  • dbXML dbXML Group Open Source Proprietary
  • Dieselpoint Dieselpoint, Inc. Commercial None
    (indexes only)
  • DOMSafeXML Ellipsis Commercial File system
  • eXist Wolfgang Meier Open Source Proprietary
  • eXtc M/Gateway Developments Ltd. Free
    Post-relational
  • Extraway 3D Informatica Commercial Files plus
    indexes
  • Infonyte DBInfonyte Commercial Proprietary
  • Ipedo XML Database Ipedo Commercial Proprietary
  • Lore Stanford University Research Semi-structured
  • MarkLogic Server Mark Logic Corp. Commercial
    Proprietary
  • M/DBX M/Gateway Developments Ltd. Free
    Hierarchical
  • myXMLDB Mladen Adamovic Open Source MySQL
  • Natix University of Mannheim Free /
    non-commercial Proprietary
  • ozone ozone-db.org Open Source Object-oriented

83
Natív XML adatbázis-kezelok http//www.rpbourret.c
om/xml/XMLDatabaseProds.htmnative
  • Termék Fejleszto License Adatbázistípus
  • Qizx/db XMLMind Commercial Proprietary
  • Sedna XML DBMS ISP RAS MODIS Free Proprietary
  • Sekaiju / Yggdrasill Media Fusion Commercial
    Proprietary
  • SQL/XML-IMDB 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
    Proprietary
  • TEXTML Server IXIASOFT, Inc.Commercial
    Proprietary
  • TigerLogic XDMS Raining Data Commercial Pick
  • Timber University of Michigan Open Source
    (non-commercial only) Shore, Berkeley DB
  • TOTAL XML Cincom Commercial Object-relational
  • Virtuoso OpenLink Software Commercial
    Proprietary. Relational through ODBC
  • XDBM Matthew Parry, Paul Sokolovsky Open Source
    Proprietary
  • XDB ZVON.org Open Source Relational (PostgreSQL)
  • XediX TeraSolution AM2 Systems Commercial
    Proprietary
  • X-Hive/DB X -Hive Corporation Commercial
    Proprietary. Relational through JDBC
  • Xindice Apache Software Foundation Open Source
    Proprietary
  • xml.gax.com GAX Technologies Commercial
    Proprietary

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

85
Összefoglalás
  • Az eloadásban a következo témákat tekintettük át.
  • Milyen feladatok kapcsán keletkeznek nagy méretu
    XML adatbázisok
  • virtuális obszervatóriumok tudományos adatbázisai
    (csillagászati, biológiai, részecskefizikai)
  • Megfogalmaztuk a feladatot
  • Nagy méretu (osztott) XML adatbázisok gyors
    lekérdezése
  • Két lehetséges utat választottunk
  • Az adatbázis, a reguláris lekérdezés
    reprezentálása relációs adatbázisban, majd a
    lekérdezés feldolgozása DATALOG, illetve SQL
    segítségével.
  • A natív XML adatbázishoz indexeket készítve
    gyorsítjuk a lekérdezés végrehajtását.

86
Ö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 elod, illetve utód
    kapcsolatok gyors eldöntésére
  • pre/post számozás
  • intervallum címkézés
  • strukturális indexek, amit részletesen
    áttekintettünk
  • A strukturális indexek tömör formában tárolják a
    gráf struktúráját, útvonalkifejezéseit.
  • a) Az elso 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ítheto

87
Összefoglalás
  • 4. Speciális lekérdezésekre pontos index
    készítése
  • //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érkeo
    lekérdezések szerint, közben Hash-táblában
    frissíti az indexcsúcsokat

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

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

90
Az eloadásban szereplo 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  doigt10.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
  • LiMoon 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.
    367370.
  • 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

91
Köszönöm a figyelmet!
92
Válaszok az opponensek kérdéseire
  • Köszönöm az opponensek gondos munkáját!
  • A következo kérdések merültek fel.
  • Az indexelési technikáknak milyen szerepe lehet
    az XML adatbázisok adatbányászatában?
  • Milyen jövoképet tudna felvázolni a jövo
    adatbázisaira és az adatbányászatra?

93
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ötodéseket
    határozzák meg.
  • A molekulákat gráfokkal szokták megadni.
    (-gtXML-gráf)
  • A minta is egy kicsi részgráf. (-gtXML gráf)
  • A feladat részgráf keresése. (Nehéz probléma.)
  • Ha a molekula struktúrájának lenyomatát tároljuk
    (Index), akkor a lenyomatok alapján kizárhatunk
    nagyon sok felesleges esetet a vizsgálatból.
  • XML-ben a részgráf keresési problémát Twig-Query
    vagy Twig-join problémanak hívják.

94
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/d8
    0386141g147453/
  • A DNS-ek is reprezentálhatók XML fájlokban. Itt
    is fontos feladat a gyakori minták keresése.
  • A következo 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/k002vfptpr7fv
    2j5/

95
Milyen jövoképet tudna felvázolni a jövo
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-cla
    remont-report-on-database-research/pdf?dlno

96
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)
Write a Comment
User Comments (0)
About PowerShow.com