Benchmarking von XML-Datenbanksystemen Timo Böhme boehme@informatik.uni-leipzig.de Erhard Rahm rahm@informatik.uni-leipzig.de http://dbs.uni-leipzig.de
Überblick Einführung Ein Benchmark für alle? Problembereiche XML-Benchmarks XMach-1 Xmark XOO7 Ergebnisse 11.3.2002 FG-DB 2002 2
Einfü hrung Warum? Richtlinien Domainspezifisch Eigenschaften Relevanz Portabilität Skalierbarkeit Einfachheit 11.3.2002 FG-DB 2002 3
Ein Benchmark fü r alle? Die Domaine XML-Datenverarbeitung? Domains (Beispiele) Heterogene Dokumentenkollektion Repository, Suchmaschine Strukturierte Daten B2B-Daten (Bestellungen, Rechnungen, Listen,...) Gemischte Daten Online-Kataloge 11.3.2002 FG-DB 2002 4
Ein Benchmark fü r alle? Domains Heterogene Dokumentenkollektion dokumentzentriert Daten unregelmäßige Struktur kein vordefiniertes Schema mixed content Elementreihenfolge wichtig Operationen hierarchische und sequentielle Navigation Volltextsuche auf Elementinhalten Extraktion von Dokumenten und Dokumentfragmenten Einfü gen/löschen von Dokumenten Änderungsoperationen auf Dokumentfragmenten 11.3.2002 FG-DB 2002 5
Ein Benchmark fü r alle? Domains (2) Strukturierte Daten datenzentriert Daten regelmäßige Struktur vordefiniertes Schema mit Typinformation element content Elementreihenfolge frei Operationen Suche auf Attributwerten Anfragen mit Sortierung, Aggregation und Verbundanweisungen Erstellung von Ergebnisdokumenten aus Anfragedaten (Restrukturierung) Einfü gen/löschen von Dokumenten Änderungen an Attributwerten 11.3.2002 FG-DB 2002 6
Ein Benchmark fü r alle? Domains (3) Gemischte Daten dokument- und datenzentrierte Eigenschaften Daten ein Dokument vs. verschiedene Dokumente Operationen Auswahl entsprechend des Datentyps Verhältnis dokument- zu datenzentrierten Operationen entsprechend Domain Gemischte Daten fü r universellen Benchmark? Einfachheit spezifische Optimierung beschränkt Portabilität 11.3.2002 FG-DB 2002 7
Ein Benchmark fü r alle? Weitere Kriterien Definition zu evaluierender Komponenten Anfrageprozessor vs. Gesamtsystem Ein- vs. Mehrbenutzerbetrieb Definition der Operationen Parameter Anzahl Aussagekraft 11.3.2002 FG-DB 2002 8
Problembereiche fehlende standardisierte Anfragesprache XPath kleinster gemeinsamer Nenner proprietä re Anfragesprachen unzureichend komplexe Operationen ü ber API-Zugriff XQuery? keine DML Änderung von Dokumentfragmenten teilweise nicht möglich große Unterschiede im Funktionsumfang Relevanz vs. Portabilitä t 11.3.2002 FG-DB 2002 9
XML-Benchmarks XMach-1: Architektur Directory SUT Browser Inter-/ Intranet Upload Delete Query Retrieve XML documents XML Database Application Server Loader 11.3.2002 FG-DB 2002 10
XML-Benchmarks XMach-1: Daten documentxx directory @author host + @doc_id @name titlexx? host + (rek) chapterxx + path + @id @name author? path + (rek) headxx doc_info sectionxx + @doc_id @id @loader headxx @insert_time paragraph + @update_time link * @xlink:href sectionxx * (rek) 11.3.2002 FG-DB 2002 11
XML-Benchmarks XMach-1: Operationen 1. Liefere das Dokument zu URL X. 2. Liefere doc_id der Dokumente, die die Phrase X in einem paragraph-element enthalten. 3. Navigiere beginnend beim ersten chapter-element ü ber jedes erste section-element. Gib das letzte section-element zurü ck. 4. Liefere eine flache Liste der head-elemente aller section- Elemente des durch doc_id X selektierten Dokumentes. 5. Liefere alle Dokumentnamen, die unterhalb einer gegebenen URL liegen. 6. Finde alle author-elemente mit Inhalt X und liefere id-attribut des Elternelementes. 7. Liefere doc_id von allen Dokumenten, die wenigstens X- mal referenziert werden. 8. Liefer doc_id von den 100 zuletzt geä nderten Dokumenten, die ein author-attribut besitzen. 11.3.2002 FG-DB 2002 12
XML-Benchmarks XMach-1: Operationen (2) Datenmanipulation 1. Fü ge neues Dokument ein. 2. Lösche Dokument mit doc_id X. 3. Ändere Namen und update_time-attribut des Dokumentes mit doc_id X. Operationsmix feste prozentuale Anteile Antwortzeitrestriktionen Hauptoperation: Q1 (30%) Metrik: XML Anfragen pro Sekunde (Xqps) 11.3.2002 FG-DB 2002 13
XML-Benchmarks Xmark Autoren: A.R. Schmidt, F. Waas, M.L. Kersten, D. Florescu, I. Manolescu, M.J. Carey, R. Busse Modelliert Internet-Auktionsanbieter Ausfü hrung auf lokalen Computer beschrä nkt Einbenutzerbetrieb Evaluierung des Anfrageprozessors 11.3.2002 FG-DB 2002 14
site regions categories catgraph people open_auctions closed_auctions (africa, asia,...)... item name/payment/shipping/location/quantity description text (#PCDATA bold...)* parlist listitem * text... parlist (rek) incategory + @category mailbox mail from/to/date name/emailaddress/phone?/... text address street/city/country/province?/zipcode profile? @income/education?/gender?/business/age? interest @category watches? watch * @open_auction open_auction *... initial/reserve?/current/privacy?/quantity/type bidder * date/time/increase personref @person itemref @item seller @person annotation author @person description? happiness interval start/end 15
XML-Benchmarks Xmark: Operationen 20 Anfrageoperationen Genaue Übereinstimmung Sequenzieller Zugriff Casting Regulä re Pfadausdrü cke Referenzverfolgung Konstruktion komplexer Ergebnisse Verbund ü ber Attributwerte Rekonstruktion eines komplexen Fragmentes Pfadnavigation Fehlende Elemente Funktionsaufruf Sortierung Aggregation 11.3.2002 FG-DB 2002 16
XML-Benchmarks XOO7 Autoren: S. Bressan, M.L. Lee, Y.G. Li Anpassung des OO7-Benchmarks an XML Domain: technische Dokumentation Ausfü hrung auf lokalen Computer beschrä nkt Einbenutzerbetrieb Evaluierung des Anfrageprozessors 11.3.2002 FG-DB 2002 17
Module @MyID/@type/@buildDate Manual @MyID/@title/@textLen ComplexAssembly @MyID/@type/@buildDate ComplexAssembly + (rek) BaseAssembly + @MyID/@type/@buildDate CompositePart + Document @MyID/@title (#PCDATA (para+)) Connection + @type/@length AtomicPart AtomicPart @MyID/@type/@buildDate/@x/@y/@docId 18
XML-Benchmarks XOO7: Operationen Ergä nzung der OO7-Operationen auf 18 Anfrageoperationen Unterteilung in traditionelle DB-Anfragen, Navigation, Dokumentanfragen Beispiele: Bereichsanfragen Anfragen mit Einbeziehung von Umgebungsinformationen Negation Elementanfragen mit Ausschluss der Kindelemente 11.3.2002 FG-DB 2002 19
XML-Benchmarks Vergleich XMach-1 Xmark XOO7 Skopus DBMS Anfrageprozessor Anfrageprozessor # Benutzer Mehrbenutzer Einbenutzer Einbenutzer # Rechner * 1 1 # Schemas #Dok/20 1 1 # Dokumente 1+10 x (x>2) 1 1 DB-Größe 16 KB * 10 x 10 MB 10 GB ca. 4 13 MB? # Anfragen 8 20 18 # Änderungsop. 3 0 0 11.3.2002 FG-DB 2002 20
Ergebnisse XMach-1 Hardware/Betriebssystem Server: Client: Intel PIII 800 MHz, 256/512 MB, 1 HDD, Windows 2000 Sun Ultra 10, 440 MHz, 256 MB, 1 HDD, Solaris Netzwerk: 10 Mbit Ethernet Datenbankgröße: 1.000 Dokumente (Ø Größe 15,7 kb, Ø 128 Elemente); 41 DTDs 10.000 Dokumente (Ø Größe 15,3 kb, Ø 124 Elemente); 695 DTDs 11.3.2002 FG-DB 2002 21
Ergebnisse XMach-1: Datenbank-Population #dok Hauptspeicher (MB) 256 NX0 512 NX1 256 256 NX3 512 NX4 256 1.000 Grö ß e Daten+Index (MB) 206,3 80.1 96 58.1 Grö ß e Daten Index (MB) 145,6 60,7 145,6 60,7 Zeit Daten+Index (sek) 616 503 330 692 619 340 Zeit Daten Index (sek) 88 528 87 416 324 368 322 297 10.000 Grö ß e Daten+Index (MB) 927,6 883,2 491 Grö ß e Daten Index (MB) 560,5 367,1 560,5 367,1 Zeit Daten+Index (sek) 10.803 7.096 4.969 13.786 Zeit Daten Index (sek) 971 9.832 924 6.172 11.3.2002 FG-DB 2002 22
6000 Ergebnisse XMach-1: Antwortzeiten NX0 5000 4000 4516 5007 time (ms) 3000 2824 3585 3415 3205 3145 2000 1000 0 2364 1332 1382 2374 701 881 1122 1281 751 481 691 621 391 550 311 561971 141 280 361 260 151 371 2804 1823 1231 1 2 3 4 1000 Docs 512 MB 1 User 5 6 7 8 1000 Docs 512 MB 10 User 9 Operation 10 11 1000 Docs 512 MB 20 User 11.3.2002 FG-DB 2002 23
12000 Ergebnisse XMach-1: Antwortzeiten NX0 10000 8000 8753 10044 9504 6000 4000 2000 0 3686 772 491 631 391 801 490 871 141 280 361 260 1 151 371 971 2 3 4 5 6 7 8 9 3895 2374 2804 1231 10 11 1 2 3 4 5 6 7 8 9 10 11 1000 Docs 512 MB 1 User 391 141 280 361 260 151 371 971 2374 2804 1231 10000 Docs 512 MB 1 User 772 491 631 801 490 871 3686 8753 3895 10044 9504 11.3.2002 FG-DB 2002 24
Ergebnisse XMach-1: Antwortzeiten NX0 vs. NX3 8000 7000 6000 5000 4000 3000 2000 1000 0 6499 42580 39125 8442 7261 8271 5828 5007 2614 3145 570591 952 1632 2364 751 2804 481 691 660 1162 2374 621 1823 550 171200 1031 391 311 561 141 280 40361 30 661 260 20 151 371 971 180 1231 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 NX0 1000/1 391 141 280 361 260 151 371 971 2374 2804 1231 NX3 1000/1 171 200 40 30 20 1031 661 180 39125 5828 8271 NX0 1000/10 751 481 691 621 550 311 561 2364 3145 5007 1823 NX3 1000/10 570 591 952 6499 660 2614 1632 1162 42580 7261 8442 11.3.2002 FG-DB 2002 25
Links XMach-1 http://dbs.uni-leipzig.de/en/projekte/xml/xmlbenchmarking.html Xmark http://monetdb.cwi.nl/xml/index.html XOO7 http://www.comp.nus.edu.sg/~ebh/xoo7.html 11.3.2002 FG-DB 2002 26