X Filter …als Beispiel effizienter Filterung von XML-Dokumenten in SDI-Systemen.

Slides:



Advertisements
Ähnliche Präsentationen
Architektur eines Human-Task-Service
Advertisements

E-Solutions mySchoeller.com für Felix Schoeller Imaging
E-Commerce Shop System
Studienarbeit Entwurf und Implementierung eines UPnP-Browsers
Institut für Bibliotheks- und Informationswissenschaft Literaturverwaltung mit Plone Matti Stöhr Vortrag auf dem Plone-Workshop im Rahmen der Multimedia-Tage.
On the Criteria to Be Used in Decomposing Systems into Modules
:35 Architektur Moderner Internet Applikationen – Sonderthema 1 Copyright ©2003 Christian Donner. Alle Rechte vorbehalten. Architektur Moderner.
IuK 2003 Ansätze zur TeX-to-MathML Konvertierung - Semantik durch fachspezifische Usepackages Prof. Dr. Günter Törner Sebastian Pokutta Universität Duisburg-Essen.
Fortgeschrittenenpraktika WS 2003/04 Database Research Group, Prof. Dr. Bernhard Seeger Department of Mathematics and Computer Science University of Marburg.
T-XPath Ein zeitliches Modell für XML-DBS M. Kalb, G. SpechtK. Schneider Universität Ulm EML Heidelberg.
Content Management Systeme
Erschließen von semantischen Referenzen mit Ontology-Reasoning-Werkzeugen Das Ziel dieser Masterarbeit war die Erweiterung des ORBI Systems um ein Inferenz-System.
Nutzung und Bedeutung von Business Intelligence und Business Intelligence Methoden und -Werkzeugen Durch die Analyse des BI mit dem Fokus der Managementunterstützung.
Lizenz Modelle GNU GPL BSD Shareware.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
DOM (Document Object Model)
K-Modeler Engineering
Markplätze für Agenten Seminar Softwareagenten Timo Hoelzel.
Benutzerprofil: Erfahrener Fachmann Konzeptuelle Eingabe, Überprüfung auf Richtigkeit, Admin Funktion Recht zur Eingabe.
MyCoRe My Content Repository. Entstehung Seinen Ursprung hat MyCoRe in der MILESS- Software der Universität Essen (Dokumentenserversoftware). Benutzer.
Information und Technik Nordrhein-Westfalen Das personalisierte Portal Düsseldorf, Das personalisierte Portal.
Sylvain Cardin Daniel Thalmann Frédéric Vexo Raik Herrmann Sebastian Schier A wearable for mobility improvement of visually impared people.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Rigi und Web2Rsf vorgestellt von Tobias Weigand. Inhalt Ziel von Web2Rsf und Rigi Vorstellung des Parsers Web2Rsf Vorstellung des Werkzeugs Rigi Analyse.
Katharina Bellon Technische Universität Kaiserslautern Fachbereich Informatik Lehrgebiet Datenverwaltungssysteme Verarbeitung von XML-Strömen.
“Perspektiven der Klassifikationsentwicklung“
Ontologische Visualisierung von Genexpressionsdaten aus Makroarray-Experimenten Bioinformatik Praktikum David Rudolph, Michael Tauer Thema 6.
Business Engineering Chancen und Risiken am Beispiel des aktiven Schadenmanagements Prof. Dr. Michael Löwe Euroforum, Freising, 10 März 2003.
Diplomarbeit: Design und prototypische Implementierung eines archetypbasierten EHR Systems Anton Brass Helmholtz Zentrum München IBMI München,
1 Talk - CeBIT 2008 GroupMe!... where Semantic Web meets Web 2.0 Prof. Dr. Nicola Henze Leibniz Universität.
Themenbereich Digitale Bibliotheken
Nestor Workshop im Rahmen der GES 2007 Digitale Langzeitarchivierung und Grid: Gemeinsam sind wir stärker? Anforderungen von eScience und Grid-Technologie.
Warum brauche ich ein CMS – Content Management System?
Webservice Grundlagen
7th German CDISC User Group Basel, 11. März 2010 Willkommen zum Define.xml Workshop.
Java für Fortgeschrittene
Software Engineering | Projekt 5 | Dipl. Ing. K
XML-Query. Übersicht Was ist XML-Query? Vergleich RDB XML-Dokument Syntaktisches und Use-Cases Kritik und Diskussion.
Archival and Discovery
Wissensdisc – Der Weg zum Erfolg
PRO:CONTROL Ziel des Moduls Arbeitspakete
Best practice for E-Business Von der Planung bis zum Erfolg
Fakultät für Informatik WI/WE 2005S UE WI/WE Web Engineering /3 Dr. Michael Derntl Fakultät.
Fakultät für Informatik WI/WE 2005S UE WI/WE Web Engineering /3 und /4 Michael Derntl Fakultät.
Kursdokumentenmanagement. Inhalt Zielgruppe Anwendungs- breiche Vorteile der Lösung Kosten Testen der Software Funktionsweise und Voraus- setzungen Anwendungs-
Untersuchungen zur Erstellung eines
Seminar: Virtuelle Forschungsumgebungen Dozent: Professor Manfred Thaller Referent: Peter Smits
xRM1 Pilot Implementierung
Eike Schallehn, Martin Endig
XML-Datenbanken Weiterentwicklung eines Prototypen zur nativen Speicherung von XML-Dokumenten Georg Kiekel
An Approach to the Preservation of Digital Records National Archives of Australia Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung.
XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument.
Was spricht für EMC für SQL?
Virtuelle Forschungsumgebungen Anforderungen an eine virtuelle Forschungsumgebung für den Bereich „Film“ Das Grundkonzept.
Oracle Portal think fast. think simple. think smart. Dieter Lorenz, Christian Witt.
Vorteile von XML Die installed base von HTML, HTTP und Webbrowsern XML ist einfach und portabel XML kann Dokumente beliebiger Komplexität abbilden XML.
Text Encoding Initiative Universität zu Köln Daten- und Metadatenstandards Seminarleitung: Patrick Sahle Seminarleitung: Patrick Sahle Referentin: Anna.
XML in der Praxis: Electronic Bill Presentment (EBP) Institut für Wirtschaftsinformatik J. W. Goethe-University J. W. Goethe University Institute of Information.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Corporate Management/Beschaffung
Interoperabilität in Digitalen
E-Commerce Vertrieb digitaler Daten über das Internet Vertrieb digitaler Daten über das Internet Ein Referat von Michael Bünder.
©© 2013 SAP AG. Alle Rechte vorbehalten. Produktkatalogverwaltung Szenario-Überblick Produkt- katalog erstellen Produktkatalog veröffentlichen Legende.
Workflowsysteme und Datenbanksysteme Gliederung Motivation Basis- funktionalitäten Klassifikations- merkmale Referenz-Modell MQ Workflow Zusammenfassung.
Oracle Text bei sehr großen Datenmengen Referent Martin Augst Senior Project / Account Manager Semantec GmbH Benzstr.
Information Retrieval mit Oracle Text Erfahrungsbericht.
Business Process Excuction Lanaguage
Business Process Excuction Lanaguage
CS Remote Care Stand: Dezember 2010.
 Präsentation transkript:

X Filter …als Beispiel effizienter Filterung von XML-Dokumenten in SDI-Systemen

2 Gliederung Was sind SDI Systeme? Was sind SDI Systeme? Was bringt die Kombination von XML und SDI Systemen für Vorteile und Probleme? Was bringt die Kombination von XML und SDI Systemen für Vorteile und Probleme? das XFilter System als effizienter Lösungsansatz das XFilter System als effizienter Lösungsansatz

3 SDI Systeme Selective Dissemination of Information (SDI) Selective Dissemination of Information (SDI) die richtigen Daten zu den richtigen Leuten zur richtigen Zeit die richtigen Daten zu den richtigen Leuten zur richtigen Zeit Anwendungsbereiche: Anwendungsbereiche: Spezialisierte Newsticker (z.B. Sport)Spezialisierte Newsticker (z.B. Sport) Personalisierte NachrichtenPersonalisierte Nachrichten VerkehrsinformationssystemeVerkehrsinformationssysteme Echtzeit-business (Börse, e-commerce etc.)Echtzeit-business (Börse, e-commerce etc.)

4 SDI Systeme Quelldaten Format- Konversion Dokumenten- parsing Filter- Engine Gefilterte Daten Benutzerprofile Benutzer - keine Speicherung der Daten, dafür Speicherung der Anfragen

5 SDI Systeme Anforderungen: Anforderungen: möglichst akurate Anfragen(Profile)möglichst akurate Anfragen(Profile) Skalierbarkeit (große Benutzerzahl)Skalierbarkeit (große Benutzerzahl) hoher Datendurchsatzhoher Datendurchsatz VerlässlichkeitVerlässlichkeit evtl. Echtzeit-Garantieevtl. Echtzeit-Garantie Effizienz besonders wichtig Effizienz besonders wichtig

6 XMl und SDI Vorteile: Vorteile: künftiger Standard (vorhandene Tools)künftiger Standard (vorhandene Tools) strukturierte Quelldatenstrukturierte Quelldaten sehr akurate Benutzerprofilesehr akurate Benutzerprofile Nachteile: Nachteile: erhöhte Komplexität beim Vergleichen mit Benutzerprofilenerhöhte Komplexität beim Vergleichen mit Benutzerprofilen

7 X Filter Filtermechanismus für SDI-Systeme Filtermechanismus für SDI-Systeme entwickelt von Mehmet Altinel (University of Maryland) und Michael J. Franklin (University of California at Berkeley) entwickelt von Mehmet Altinel (University of Maryland) und Michael J. Franklin (University of California at Berkeley) vorgestellt auf der VLDB Konferenz 2000 (Kairo) vorgestellt auf der VLDB Konferenz 2000 (Kairo) implementiert im DBIS Toolkit (Dissemination-Based Information Systems) implementiert im DBIS Toolkit (Dissemination-Based Information Systems)

8 Benutzerprofile System nimmt Benutzerprofile in Form von XPath Anfragen entgegen System nimmt Benutzerprofile in Form von XPath Anfragen entgegen relevant für XFilter sind nur /, //, *, [] relevant für XFilter sind nur /, //, *, [] Beispiel: Preisvergleichs-Service Beispiel: Preisvergleichs-Service Benachrichtigung bei Unterschreitung einer Preisschranke /katalog//dvdbrenner/*/details[preis/euro<200]/name Filter ([]) können eingebettete Pfadausdrücke enthalten Filter ([]) können eingebettete Pfadausdrücke enthalten

9 X Filter XPath Anfragen XPath Parser XML Parser Filter Engine Data Dissemination User Profile Base XML Dokument Path Nodes Element Events Profil Info Erfolgreiche Profile und gefilterte Daten Erfolgr. Anfragen Profil Info Path Nodes Element Events Erfolgreiche Profile und gefilterte Daten Query Index

10 Path Nodes Umwandlung jeder XPath Anfrage in eine Art endlichen Automaten Umwandlung jeder XPath Anfrage in eine Art endlichen Automaten Elementknoten beschreiben Zustände Elementknoten beschreiben Zustände /katalog//dvdbrenner/*/details[preis/euro<300]/name Path Node 1 Rel.Dist. ? Level 1 Path Node 2 Rel.Dist. ? Level ? Path Node 3 Rel.Dist. 2 Level ? Filter Expr. Path Node 4 Rel.Dist. 1 Level ? P54800d … PN1 PN2PN4 PN3 Level=1 El.=katalog Level=3 El.=dvdbrenner Level=5 El.=details Level=6 El.=name OK * Lev.1 Lev.2 Lev.3 Lev.4 Lev.5 Lev.6

11 Query Index Q Q12 1 0Q13 Query ID Position Relative Pos. Levelab c d e auf Element-Namen basierende Hash Tabelle mit wait und candidate ListenQ1-1 Q1-2 Q1-3 Q1 = / a / b // c Q21Q22 2 0Q Q2 = // b /*/ c / d Q2-2 Q2-3 Q2-1 Q31 0 2Q32 1 0Q33 Q3 = /*/ a / c // d Q3-1 Q3-2 Q3-3 Q41Q42 1 0Q Q4 = b / d / e Q4-2 Q4-3 Q4-1 Q51 0 1Q52 3 0Q53 Q5 = a /*/*/ c// e Q5-1 Q5-2 Q5-3 w.listc.list w.list c.list

12 Q Q12 1 0Q13 Q21Q21 2 ablaufab c d e Q1-1 Q1-2 Q1-3Q2-2 Q2-3 Q2-1 Q3-1 Q3-2 Q3-3 Q4-2 Q4-3 Q4-1 Q5-1 Q5-2 Q5-3 w.listc.list w.list c.list Q22 2 0Q Q31 0 2Q32 1 0Q33 Q41Q42 1 0Q Q51 0 1Q52 3 0Q53 … Lev.1 Lev.2 Lev.3 Lev.4 Lev.5 Lev.4 Beispiel: Lev.1Q1-2 Q5-2 Lev.2Q2-2 Q41 2Q42 1 0Q Q4-2 Q11 0 1Q12 1 2Q13 Q1-3 Q Lev.3Q4-3 Q51 0 1Q52 3 4Q53 Lev.4Q5-3 Q21 2Q22 2 4Q Q2-3 Q11 0 1Q12 1 2Q13 4 Q41 2Q43 1 4Q Q51 0 1Q52 3 4Q53 5 Lev.5 Lev.4 Q1 = / a / b // cQ3 = /*/ a / c // dQ5 = a /*/*/ c// eQ2 = // b /*/ c / dQ4 = b / d / eQ1 = / a / b // cQ4 = b / d / eQ5 = a /*/*/ c// eQ2 = // b /*/ c / dQ1 = / a / b // cQ4 = b / d / eQ5 = a /*/*/ c// e

13 1. Verbesserung list balancing geringe Selektivität wurzelnaher tags geringe Selektivität wurzelnaher tags Unausgewogene candidate lists Unausgewogene candidate listsZiel: anfängliche Längen der candidate lists ausbalancieren anfängliche Längen der candidate lists ausbalancierenLösung: Pivot-Elemente und preconditions Pivot-Elemente und preconditions

14 list balancing Q Q12 1 0Q13 Query ID Position Relative Pos. Levelab c d e Q1-1 Q1-2 Q1-3 Q1 = / a / b // c Q21Q22 2 0Q Q2 = // b /*/ c / d Q2-2 Q2-3 Q2-1 Q aQ32 Q3 = /*/ a / c // d Q3-1Q3-2 Q bQ Q4 = b / d / e Q4-2 Q4-1 Q51 a,c Q5 = a /*/*/ c// e Q5-1 w.listc.list w.list c.list erhöhter Aufwand durch Testen der preconditions Ersparnis durch Ausbalancierung

15 2. Verbesserung prefiltering fehlende Elemente im hinteren Bereich des Anfrage-Pfades fehlende Elemente im hinteren Bereich des Anfrage-Pfades Unnötiger Aufwand Unnötiger AufwandZiel: Ausschluß von Anfragen mit Elementen, die im Dokument gar nicht vorkommen Ausschluß von Anfragen mit Elementen, die im Dokument gar nicht vorkommenLösung: key based prefiltering Algorithmus key based prefiltering Algorithmus

16 Prefiltering a b c d e Jedes Dokument muss zweimal durch den Parser Ersparnis hängt von der Selektivität des ersten Schrittes ab Q1 = / a / b // c Q2 = // b /*/ c / d Q3 = /*/ a / c // d Q4 = b / d / e Q5 = a /*/*/ c / e Q1 Q2 Q3 Q4 Q5 Occurrence table Ermittlung der keys wie Pivot- Elemente Sukzessives Abarbeiten der Queries nach occurence table

17 Experimente ParameterBereich Beschreibung P1.000– Anzahl der Benutzerprofile D1-10 Maximale Tiefe des XML Dokuments und der XPath Anfragen W20%-80% Wahrscheinlichkeit für Wildcards (*) in den Anfrage-Knoten 0 und 1 Unausgewogenheit von Element- Namen in der Anfrage-Generierung Ist XFilter praxistauglich? Query-Generator und XML-Testfall-Generator (IBM) unter Verwendung der NITF DTD

18 1. Experiment Variation von P (Profile) Variation von P (Profile)

19 2. Experiment Variation von D (max. Tiefe) Variation von D (max. Tiefe)

20 3. Experiment Variation von W (*-Wahrscheinlichkeit) Variation von W (*-Wahrscheinlichkeit)

21 Zusammenfassend XFilter erweist sich als hoch skalierbares System XFilter erweist sich als hoch skalierbares System list balancing mit prefiltering ist Methode mit größtem Performance-Gewinn list balancing mit prefiltering ist Methode mit größtem Performance-Gewinn bei sehr unausgewogener Verteilung der Elemente in den Queries ist list balancing von sich aus schon sehr effektiv, evtl. der Methode mit prefiltering vorzuziehen (Ressourcen schonender) bei sehr unausgewogener Verteilung der Elemente in den Queries ist list balancing von sich aus schon sehr effektiv, evtl. der Methode mit prefiltering vorzuziehen (Ressourcen schonender) - o -