Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 6.4 Verwaltung semistrukturierter Daten - was ist das? Datenverwaltung für XML-Dokumente - Daten in XML-Gewand - eigentlich XML-Dokumente - Abbildung.

Ähnliche Präsentationen


Präsentation zum Thema: "1 6.4 Verwaltung semistrukturierter Daten - was ist das? Datenverwaltung für XML-Dokumente - Daten in XML-Gewand - eigentlich XML-Dokumente - Abbildung."—  Präsentation transkript:

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

2 6.2 Indexierung  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

3 6.3 Indexierung  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)

4 6.4 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!)

5 6.5 Dataguides (3) Problem: mehr als ein korrektes Datenverzeichnis für eine DB

6 6.6 Dataguides (4) 1II I a b c {1} {I,II} {c} {a,b} {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)

7 6.7 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)

8 6.8 Dataguides (6) b 1 23 4 5 6 1312 1110987 x x a x x x a a a a b c d 1 2,3,4,5,6 7,8,10,12,13 7,13 911 x a b d c DB Dataguide G Kann offenbar groß werden Wenn DB Baum: Größe von G <= Größe DB Beachte: Konstruktion eines deterministischen aus nichtdetermini- stischem Automaten!

9 6.9 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

10 6.10 Systeme: Tamino  Tamino (SoftwareAG) "Native data store"

11 6.11... Tamino... Tamino  Beispiel für Integration mit tabellarischen Daten Anfrage:...?_xql=hospital/patient[p-surname="Jones"]/doctor Sprache: X-Query


Herunterladen ppt "1 6.4 Verwaltung semistrukturierter Daten - was ist das? Datenverwaltung für XML-Dokumente - Daten in XML-Gewand - eigentlich XML-Dokumente - Abbildung."

Ähnliche Präsentationen


Google-Anzeigen