• Keine Ergebnisse gefunden

Seminar XML und Datenbanken

N/A
N/A
Protected

Academic year: 2022

Aktie "Seminar XML und Datenbanken"

Copied!
30
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Seminar XML und Datenbanken

Indexstrukturen in XML

Vanessa Schäfer

07.02.2003

(2)

Seminar XML und Datenbanken 2

Übersicht

• Einführung

• Indexstrukturen in XML

• Ein Vergleich SphinX vs. Lore

• Zusammenfassung und Ausblick

(3)

Einführung – Was ist ein Index?

• Datenstruktur, die identifiziert, welcher Eintrag welchen Wert enthält

• Ziel: Beschleunigung der Anfrageverarbeitung

• Problem: Speicherbedarf ÆKompromiss erforderlich

(4)

Seminar XML und Datenbanken 4

Einführung – Wo wird der Index eingesetzt?

(5)

Einführung –

OEM-Graph eines XML-Fragments

(6)

Seminar XML und Datenbanken 6

Einführung – Bewertungskriterien für Indizes

• Anwendbarkeit

• Erweiterbarkeit

• Skalierbarkeit

• Auswertungszeit

• Speicherplatz

• Updates

(7)

Indexstrukturen in XML

• Inhaltsbasierte Indexstrukturen

• Strukturbasierte Indexstrukturen

• Hybride Indexstrukturen

• SphinX

Inhaltsbasierte und Strukturbasierte Indizes nur in Kombination

(8)

Seminar XML und Datenbanken 8

Inhaltsbasierte Indexstrukturen

• Aus dem klassischen Information Retrieval

• Inverted Files

– Invertierte Liste – Vokabular

(9)

Inhaltsbasierte Indexstrukturen – Text Index

• Bildet ein Schlüsselwort auf alle Knoten ab, die es enthalten

• Direkter oder indirekter Inhalt

• Reduzierung der Schlüsselwörter:

– Stemming

– Stoppwortlisten

– Auswahl der Schlüsselwörter

(10)

Seminar XML und Datenbanken 10

Inhaltsbasierte Indexstrukturen – Value Index

• Generalisierung des Text Index

• Verschiedene Datentypen

• Selektionskriterien: >, <, =, contains

(11)

Inhaltsbasierte Indexstrukturen - Eigenschaften

Index Text Index Value Index

Input Æ Output Keywords Æ NodeIDs Predicates Æ NodeIDs Indexstruktur Inverted File Inverted File

DB-Struktur Graph Graph

Inkrementelle Updates Ja Ja

Speicherbedarf 5-15% Storage Overhead (Angabe für Inverted Files)

5-15% Storage Overhead (Angabe für Inverted Files) Einschränkungen Keine Struktur Keine Struktur

Besonderheiten Kann Typecasting unterstützen

(12)

Seminar XML und Datenbanken 12

Inhaltsbasierte Indexstrukturen - Beispiel

Lore (Lightweight Object REpository) Stanford University

• Tindex: Suche alle Namen, die Ford enthalten

Ergebnis: {(&17, 2), (&21, 2)}

• Vindex: Suche Preise mit Preis > 15

Ergebnis: {&11, &15}

(13)

Strukturbasierte Indexstrukturen - DataGuide

• Graph, in dem jeder Pfad aus der Datenbank genau einmal vorkommt

• Für Indexstrukturen wird zusätzlich benötigt, dass kein Pfad auftritt, der nicht in der DB vorkommt (strong DataGuide).

(14)

Seminar XML und Datenbanken 14

Strukturbasierte Indexstrukturen – DataGuide

a) Datenbank-Graph b)weak DataGuide c) strong DataGuide

(15)

Strukturbasierte Indexstrukturen - Eigenschaften

Index DataGuide T-Index

Input Æ Output Simple PathsÆ NodeIDs 1-Index: Simple PathsÆ NodeIDs 2-Index: Relative PathsÆ NodeIDs T-Index: Privileged PathsÆ NodeIDs

Indexstruktur Graph Graph

DB-Struktur Graph Graph

Inkrementelle Updates

Ja Ja Speicherbedarf Worst Case: exponentiell

Im Experiment je nach DB-Struktur 2-317% Storage Overhead

Worst Case: 1-Index linear

2-Index quadratisch Einschränkungen Keine relativen Pfade, kein Inhalt

(16)

Seminar XML und Datenbanken 16

Strukturbasierte Indexstrukturen - Beispiel

• Lore

Pindex: Suche alle Titel Ergebnis: {&5, &9, &14}

(17)

Hybride Indexstrukturen – IndexFabric

PATRICIA Trie

für die Schlüsselwörter die, indeed, index,

midi, min, xml

• Auf der Basis von PATRICIA Tries

• Raw Paths und Refined Paths

• Bezeichner zur Kodierung der Pfade

(18)

Seminar XML und Datenbanken 18

Hybride Indexstrukturen - IndexFabric

Dokument 1:

<invoice>

<buyer><name>ABC Corp</name>

</buyer>

<seller><name>Acme Inc</name>

</seller>

...

</invoice>

Dokument 2:

<invoice>

<buyer><name>Oracle Inc</name>

</buyer>

<seller><name>IBM Corp</name>

</seller>

...

</invoice>

Bezeichner:

<invoice> = I

<buyer> = B

<name> = N

<seller> = S ...

Pfade:

– Dokument 1:

IBN ABC Corp ISN Acme Inc ...

- Dokument 2:

IBN Oracle Inc ISN IBM Corp ...

(19)

Hybride Indexstrukturen - IndexFabric

(20)

Seminar XML und Datenbanken 20

Hybride Indexstrukturen - Eigenschaften

Index IndexFabric BUS Input Æ Output Simple Paths Æ NodeIDs

Privileged Paths Æ NodeIDs

Simple Paths x Keywords Æ DocIDs x NodeIDs x Weights

Indexstruktur Baum Baum

DB-Struktur Baum Baum

Inkrementelle Updates Ja Nur teilweise (MBM: Ja) Speicherbedarf In Experimenten bis 150%

Storage Overhead

In Experimenten bis 240%

Storage Overhead Besonderheiten Refined Paths Ranking der Treffer

(21)

SphinX: Schema-conscious PatH INdexing of X

ML

• Verwendet DTD

• Besteht aus

– Dokument-Graph – Schema-Graph – B+-Bäume

(22)

Seminar XML und Datenbanken 22

SphinX - Abbildung

(23)

SphinX - Anfrageverarbeitung

• Ermittlung der Pfade durch den Schema-Graph (Index-Path-Extraction-Algorithmus)

• Durchsuchen der B+-Bäume

(Node-Identification-Algorithmus)

• Traversierung des Dokument-Graph

(24)

Seminar XML und Datenbanken 24

SphinX - Eigenschaften

Index SphinX

Input Æ Output Regular Path Expression Æ NodeIDs Indexstruktur Graph

DB-Struktur Graph Inkrementelle Updates Ja

Speicherbedarf 160-300% Storage Overhead Besonderheiten DTD wird benutzt

(25)

Ein Vergleich – SphinX vs. Lore

• einziger existenter direkter Vergleich

Eigenschaft Lore SphinX

DTD verwendet Nein Ja

Einzelner Index Nein (Tindex, Lindex, Vindex und Pindex)

Ja

Spezialisierte Indexstrukturen Ja (DataGuide) Nein (B+-Baum)

Getestet mit großen Nein Ja

(26)

Seminar XML und Datenbanken 26

SphinX vs. Lore – Anfrageverarbeitung

• Beispiel

– A1: Suche /bib[//year=2001]//conference

– A2: Suche /bib/article[year=2001]/conference

• Ergebnis:

– SphinX: Beide Anfragen sehr effektiv, keine unproduktiven Pfade

– Lore: Bei beiden Anfragen unproduktive Pfade

(27)

SphinX vs. Lore - Experimenteller Aufbau

• Pentium III 800MHz, 512 MB Speicher, 18 GB SCSI Plattenspeicher, Redhat Linux 7.1

• Daten und Index auf Platte gespeichert

Document Size Records Depth Elems Attrs Total E. Total A.

Shakespeare 7.4MB 35 High 22 0 179619 0

Conference 40MB 104K Low 25 2 1029494 159928 Journal 27MB 76K Low 15 2 804176 89567 Swiss-Prot 158MB 80K High - - 4243031 2898833

(28)

Seminar XML und Datenbanken 28

SphinX vs. Lore – Ergebnisse 1/2

Dokument SphinX Lore Shakespeare 15M 35M Conference 85M 226M

Journal 63M 230M Swiss-Prot 465M 877M Ham-Radio 834M Incomplete Xmark 1900M Incomplete

Dokument SphinX Lore Shakespeare 14s 41s Conference 94s 1433s Journal 73s 969s Swiss-Prot 614s 20460s Ham-Radio 1220s Incomplete

Xmark 1930s Incomplete

Index-Größe Erstellungszeit

Index-Konstruktion

(29)

SphinX vs. Lore – Ergebnisse 2/2

Zeitbedarf bei der Anfrageverarbeitung

Dokument Query SphinX Lore Shakespeare QS1 0.7s 3.3 s Conference QS2 0.5 s Incomplete Conference QS3 6.8 s Incomplete Journal QS4 0.8 s 59.9 s Journal QS5 0.7 s 60.7 s Ham-Radio QS6 122.8 s Incomplete Xmark QS7 234.2 s Incomplete

Dokument Query SphinX Lore Shakespeare QG1 0.8 s 5.4 s

Conference QG2 1.1 s Incomplete Conference QG3 7.8 s Incomplete Journal QG4 0.8 s 61.2 s Journal QG5 0.7 s 62.6 s Ham-Radio QG6 140.8 s Incomplete

Xmark QG7 237.2 s Incomplete

a) absolute Pfadausdrücke b) allgemeine Pfadausdrücke

(30)

Seminar XML und Datenbanken 30

Zusammenfassung und Ausblick

• Zusammenfassung

– XML stellt besondere Ansprüche an Indexstrukturen – Verschiedene Ansätze

– Zum Teil deutliche Leistungsunterschiede

• Ausblick

– Zur Zeit sehr intensiv erforschtes Gebiet

– Vergleiche zwischen Indexstrukturen erforderlich

Referenzen

ÄHNLICHE DOKUMENTE

Neil Armstrong berührte den Mond als Erster und verkündete: „Ein kleiner Schritt für einen Menschen, aber ein Riesenschritt für die Menschheit.“.. Zuerst

Critical tables: covering index on all relevant attribute combinations Multi-point query (not covered): only good if query not too selective. nR : number of records returned by query

Fertili¬ zation 632 :633/635 Pflanzenkrankheiten und Pflanzenschädlinge — Maladies et para¬ sites des plantes — Plant pests and diseases : 633.1/.3 Krankheiten und Schädlinge

of roots and tubers Krankheiten und Schädlinge der Faserpflanzen — Maladies et parasites des plantes fibreuses — Pests and diseases of fibres Krankheiten und Schädlinge

Es wird keine Haftung übernommen für Schäden durch die Verwendung von Informationen aus diesem Online-Angebot oder durch das Fehlen von Informationen.. Dies gilt auch für

.192.6 Toxoplasmose — Toxoplasmosis 995.1 Wurminfektionen — Helminthiases — Helminthic infections .121 Durch Cestoden verursachte Krankheiten — Maladies causées par des Cestodes

Oceania Zivilisation unii Kullur der Primitiven — Civilisation et culture des populations primitives — Civilisation and culture of primitive tribes Philosophie der

Krankheiten von Getreide- und Futterpflanzen — Maladies des céréales et plantes fourragères — Pests and diseases of cereals and forage plants Krankheiten von Wurzelfrüchten