11
1 6.4 Verwaltung semistrukturierter 6.4 Verwaltung semistrukturierter Daten Daten - was ist das? Datenverwaltung für XML-Dokumente - Daten in XML-Gewand - eigentlich XML-Dokumente - Abbildung auf relationale und objektrelationale DBS - Indexierung - Anfragesprachen: XML Query - RDF-Datenbanken: erste Versuche

6.4 Verwaltung semistrukturierter Daten

  • Upload
    oya

  • View
    22

  • Download
    0

Embed Size (px)

DESCRIPTION

6.4 Verwaltung semistrukturierter Daten. - was ist das? Datenverwaltung für XML-Dokumente Daten in XML-Gewand eigentlich XML-Dokumente Abbildung auf relationale und objektrelationale DBS Indexierung Anfragesprachen: XML Query - RDF-Datenbanken: erste Versuche. Indexierung. - PowerPoint PPT Presentation

Citation preview

Page 1: 6.4 Verwaltung semistrukturierter Daten

1

6.4 Verwaltung semistrukturierter Daten6.4 Verwaltung semistrukturierter Daten

- was ist das?Datenverwaltung für XML-Dokumente

- Daten in XML-Gewand- eigentlich XML-Dokumente- Abbildung auf relationale und objektrelationale DBS- Indexierung

- Anfragesprachen: XML Query- RDF-Datenbanken: erste Versuche

Page 2: 6.4 Verwaltung semistrukturierter Daten

6.2

IndexierungIndexierung

Performance matters !

Naive Lösung zur Auswertung von existsNode etc: Parsen des Dokuments, Baum traversieren CLOB mit invertierten Listen (wie oben: z.B.

Intermedia)

Grundsätzliches Problem: Indexierung Semistrukturierter Daten Warum eigentlich schwierig??

Wertindex / Textindex "Finde alle Objekte, die über einen Pfad erreichbar

sind" : Pfadindex

Page 3: 6.4 Verwaltung semistrukturierter Daten

6.3

IndexierungIndexierung

Dataguides* Idee:

- alle Pfade des Datengraphen merken- Index, wenn die erreichbaren Objekte gespeichert werden

Lore-System (Stanford '97)Abiteboul et al.: Indexing semistructured data, Tech. Rep, Stanford Univ., ftp://db.stanford.edu/pub/papers/semiindexing98.ps.

* Datenverzeichnis (keine Standardübersetzung)

Page 4: 6.4 Verwaltung semistrukturierter Daten

6.4

Dataguide (2) Dataguide (2)

Definition

Gegeben eine semistrukturierte DB (typisch hierarchisch, auch für Graph-DB definiert)

Ein Datenverzeichnis (Dataguide) für DB ist ein Graph G mit:

Jeder Pfad in DB kommt in G vor (Bezeichner-Pfad, nicht Daten!)

Jeder Pfad in G kommt in DB vor Pfade in G sind eindeutig

(aber nicht in DB!)

Page 5: 6.4 Verwaltung semistrukturierter Daten

6.5

Dataguides (3) Dataguides (3)

Problem: mehr als ein korrektes Datenverzeichnis für eine DB

Page 6: 6.4 Verwaltung semistrukturierter Daten

6.6

Dataguides (4) Dataguides (4)

1 III

a bc

{1} {I,II}

{c} {a,b}

{x}

{x} {z,z'}

{z} {z'}

{I,II}{1}

{a,b,c}

{x,z,z'}

"Strong Dataguide": äquivalente Pfade in Guide äquivalent in DB

Nicht stark (strong)

Page 7: 6.4 Verwaltung semistrukturierter Daten

6.7

Dataguides (5)Dataguides (5)

Algorithmus zur "Indexerstellung": Dataguide G:

Knoten (G) = { {wurzel}}

Kanten = while Veränderung do s = nonDetSelect (Knotenmenge (G))

a = Select (Labels)

Knoten (G) =+ {s'={y|x in s, es existiert (x->y, label a) in Kantenmenge(DB)} Kanten (G) =+ (x->y, label a)

Page 8: 6.4 Verwaltung semistrukturierter Daten

6.8

Dataguides (6)Dataguides (6)

b

1

2 3 45 6

13121110987

xx

a

x

x

x

a aa

a

bc d

1

2,3,4,5,6

7,8,10,12,13 7,13

9 11

x

ab

d

c

DB

Dataguide G

Kann offenbar groß werdenWenn DB Baum: Größe von G <= Größe DB

Beachte: Konstruktion eines deterministischen aus nichtdetermini-stischem Automaten!

Page 9: 6.4 Verwaltung semistrukturierter Daten

6.9

Indexierung Indexierung

Bsp: Lore-System (Stanford '97)Abiteboul et al.: Indexing semistructured data, Tech. Rep, Stanford Univ., ftp://db.stanford.edu/pub/papers/semiindexing98.ps.

Ein hierarchisches Datenbänken...

... Und ein "DataGuide" (Widom et al.: "DataGuides: Enabling Query.....", Proc VLDB 1997)

- enthält jeden möglichen Pfad der hierarchischen DB

- "gibt es einen bestimmten Pad in der DB"- wie heißen die Nachfolger des aktuellen Knotens

- Erweiterung zu Index durch Menge der erreichbaren Objekte

... und die zughörigen Pfade

Page 10: 6.4 Verwaltung semistrukturierter Daten

6.10

Systeme: TaminoSysteme: Tamino

Tamino (SoftwareAG)

"Native data store"

Page 11: 6.4 Verwaltung semistrukturierter Daten

6.11

... Tamino... Tamino

Beispiel für Integration mit tabellarischen Daten

Anfrage: ...?_xql=hospital/patient[p-surname="Jones"]/doctor

Sprache: X-Query