Effizientes Matching von strukturierten Queries gegen XML-Dokumente



Ähnliche Dokumente
INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Lehrer: Einschreibemethoden

Grundbegriffe der Informatik

Eine Logikschaltung zur Addition zweier Zahlen

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Kurzanweisung für Google Analytics

Für die Einrichtung des elektronischen Postfachs melden Sie sich wie gewohnt in unserem Online-Banking auf an.

Anforderungen an die HIS

VERWALTUNG. Postfächer, Autoresponder, Weiterleitungen, Aliases. Bachstraße 47, 3580 Mödring

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Subpostfächer und Vertretungen für Unternehmen

Anleitung zur Einrichtung von Kontoweckern im Online Banking

PowerPoint 2010 Mit Folienmastern arbeiten

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Passgenau schulen Bedarfsanalyse

Task: Nmap Skripte ausführen

Step by Step Remotedesktopfreigabe unter Windows Server von Christian Bartl

Benutzeranleitung Kontoverwaltung

ENTDECKEN SIE DIE VORTEILE VON SUBSCRIPTION SUBSCRIPTION-VERTRÄGE VERWALTEN

Umfrage in den 5er-Klassen zu Hausaufgaben in den Nebenfächern im Schuljahr 2014/15

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße Neckargemünd

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

Übungen zur Softwaretechnik

ACDSee 9 Foto-Manager

Schritt 2: Klicken Sie in der Navigation auf Service und dann auf Kontowecker.

Agentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden

QuickInfo Dienstplanerstellungund Dienstplanänderung. Erstellung eines Dienstplan bzw. Arbeitszeitmodell

Beschreibung Regeln z.b. Abwesenheitsmeldung und Weiterleitung

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Einrichten des Elektronischen Postfachs

Integration verteilter Datenquellen in GIS-Datenbanken

HSR git und subversion HowTo

Transparente Hausverwaltung Marketingschmäh oder doch: eine neue Dimension der Dienstleistung?

Anbindung LMS an Siemens S7. Information

Kulturobjekte der Donau Das ContentManagementSystem (CMS)

Personalisierte versenden

Excel Pivot-Tabellen 2010 effektiv

Übungen zu Übersetzerbau 2

Der Jazz Veranstaltungskalender für Deutschland, Österreich und die Schweiz

Inkrementelles Backup

Gesetzliche Aufbewahrungspflicht für s

Eine doppelte bzw. mehrfache Erfassung eines Kunden ist unbedingt zu vermeiden.

GeoPilot (Android) die App

Zwischenablage (Bilder, Texte,...)

Transaction Validation for XML Documents based on XPath

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Funktion Erläuterung Beispiel

Workflows verwalten. Tipps & Tricks

KURZANLEITUNG CLOUD OBJECT STORAGE

Java Enterprise Architekturen Willkommen in der Realität

e-books aus der EBL-Datenbank

Predictive Modeling Markup Language. Thomas Morandell

Benutzerkonto unter Windows 2000

Sicherheitseinstellungen... 2 Pop-up-Fenster erlauben... 3

GRS SIGNUM Product-Lifecycle-Management

Arbeitsblätter. Sinnvolle Finanzberichte. Seite 19

Jump Project. Softwarelösungen für professionelles Projektmanagement

Der digitale. Workflow Workflow. [PDF-Erstellung aus CorelDraw für Windows]

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Projektmanagement in der Spieleentwicklung

Einstellen der Makrosicherheit in Microsoft Word

Mediumwechsel - VR-NetWorld Software

Version 0.3. Installation von MinGW und Eclipse CDT

Microsoft Access 2013 Navigationsformular (Musterlösung)

OP-LOG

Toleranzschema. ArtemiS SUITE

Outlook 2000 Thema - Archivierung

Grundlagen für den erfolgreichen Einstieg in das Business Process Management SHD Professional Service

Kostenstellen verwalten. Tipps & Tricks

Einführung in Eclipse und Java

Infrastruktur: Vertrauen herstellen, Zertifikate finden

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Kurzanleitung Kredit über Santander Bank

Benutzerverwaltung Business- & Company-Paket

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Benutzeranleitung Kontoverwaltung

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Content Management System mit INTREXX 2002.

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Data Mining-Projekte

Informatik 12 Datenbanken SQL-Einführung

Produktbeschreibung utilitas Projektverwaltung

NODELOCKED LIZENZ generieren (ab ST4)

Kosten-Leistungsrechnung Rechenweg Optimales Produktionsprogramm

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9

Patselect Profil: Datenübernahme aus Patselect

Online-Bestellung Tageskarten für Mitglieder des FC St. Pauli, die nicht im Besitz einer Dauer- oder Saisonkarte sind.

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

Fehlermonitor. Software zur seriellen Verbindung PC-Airdos Visualdatensignale und Fehlermeldungen-Ausagabe per SMS / Drucker

Xesar. Die vielfältige Sicherheitslösung

Einkaufslisten verwalten. Tipps & Tricks

Informationen zur Erstellung des Projektantrags in den IT-Berufen und zum AbschlussPrüfungOnlineSystem (CIC-APrOS)

Whitepaper. Produkt: address manager David XL Tobit InfoCenter AddIn für den address manager Zuordnung

Projektmanagement in Outlook integriert InLoox 5.x Installationshilfe für Windows Terminalserver

Ihren Kundendienst effektiver machen

peer-to-peer Dateisystem Synchronisation

Diplomarbeit: GOMMA: Eine Plattform zur flexiblen Verwaltung und Analyse von Ontologie Mappings in der Bio-/Medizininformatik

Transkript:

Effizientes Matching von strukturierten Queries gegen XML-Dokumente 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 1 Übersicht INHALT: a. Grundlegende Konzepte b. Lösungsansätze von NiagaraCQ und XFilter c. Vergleich der Lösungsansätze INFORMATIONEN: Foliensatz und Ausarbeitung zum Download unter: http://www.michael-stollberg.de 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 2 1

Abschnitt A Grundlegende Konzepte: Benachrichtigungssysteme Continuous Queries Einsatz von XML Skalierbarkeit 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 3 Benachrichtigungssysteme 1 Ziel: Extraktion individuell relevanter Informationen aus einem großen Datenbestand Anforderungen: 1 aus Nutzersicht: aussagekräftige Profildefinition Umsetzung: Abschnitt A: Grundlegende Konzepte Unterstützung entsprechender Anfragesprache 2 3 möglichst großer Datenbestand für möglichst viele Profilinhaber nutzbar Nutzung eines möglichst großen Objekt -Repositories hochgradige Skalierbarkeit 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 4 2

Abschnitt A: Grundlegende Konzepte Benachrichtigungssysteme 2 allgemeine Architektur: Nach A. Hinze, D.Faensen, FU 1999 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 5 Continuous Queries (CQs) Abschnitt A: Grundlegende Konzepte technisches Konzept von Benachrichtigungssystemen: Profile = persistente Anfragen im System Automatisierte wiederholte Ausführung Profilinhaber über aktuellen Stand seiner Interessensgebiete informiert Arten von CQs: Timer-Based CQs: Change-Based CQs: Überwachung von Datenänderungen in einem bestimmten Zeitintervall unverzügliche Benachrichtigung bei einer Datenänderung Konzept stammt aus der Datenbankforschung Anfang der 90er Jahre 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 6 3

Motivation zum Einsatz von XML Eigenschaften und Fähigkeiten von XML Semistrukturiertheit / Selbstbeschreibung: XML-Element: <name attribute=123>content</name> Inhaltliche Beschreibung Zuordnungsinfo Data anwenderspezifische Strukturierbarkeit Werkzeuge (XSL, XPointer, Anfragesprachen) Intentionen XML-basierter Benachrichtigungssysteme: Unterstützung verschiedener Anwendergebiete Weiterverarbeitung der Daten mit Werkzeugen Bezug von Daten aus heterogen Quellen Abschnitt A: Grundlegende Konzepte geeignet als Austauschformat und zur Datenverarbeitung, rasante Verbreitung 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 7 Skalierbarkeit Abschnitt A: Grundlegende Konzepte Im Einsatzgebiet Internet ist hochgradige Skalierbarkeit unabdingbar: sehr viele potentielle Nutzer sehr viele potentielle Datenquellen Problem: für ein Benachrichtigungssystem muss jede Datenänderung mit jedem Profil verglichen werden Ziel: Gewährleistung der Systemfunktionalität mit möglichst wenig Matches zwischen Profilen und Daten 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 8 4

Abschnitt B Realisierungen der Lösungsansätze von NiagaraCQ und XFilter Entwicklungsumgebung Projekte, aus denen die Systeme hervorgegangen sind technische Umsetzung Architektur Profildefinition Ansatz zum effizienten Matching 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 9 Niagara Project (Entwicklungsumgebung NiagaraCQ) seit 1999 / 2000 Niagara Internet Query System: Komplexere Auskünfte aus bekannten XML-Datenquellen Anfrageformulierung in XML-QL Entwicklung eines geeigneten Query-Prozessors und einer Suchfunktion für die Datenquellen Beispiel: http://www.cs.wisc.edu/niagara, java -jar niagara.jar www-db.cs.wisc.edu NiagaraCQ erweitert das Niagara Internet Query Systems zu einem Benachrichtigungssystem 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 10 5

DBIS Project (Entwicklungsumgebung XFilter) seit 1997, Projektarbeit scheinbar eingestellt u.a. Entwicklung des DBIS Toolkit: Framework für Dissemination Based Information Systems definiert Aufgaben / Verantwortlichkeiten: Data Sources Information Broker Client Library Ähnliche Intention wie in der allgemeinen Architektur von Benachrichtigungssystemen Schwerpunkt auf der Informationsverteilung XFilter ist eine Implementierung des DBIS Toolkit Frameworks 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 11 NiagaraCQ: Architektur Architektur PROZESSE: 1. neue CQ aufnehmen: - Eingabe über GUI - Erstellung des Query Plans durch QP - CQM beauftragt GO (Gruppierung) und ED (Eventüberwachung) 2. CQ ausführen - Timer-Based: ED fragt DM nach relevanten Datenänderungen - Change-Based: DM benachrichtigt ED bezüglich Datenänderung - CQM beauftragt EE (Ausführung der entsprechenden CQs) 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 12 6

NiagaraCQ: Profildefinition Definition einer CQ: Anfrage in XML-QL: Niagara Command Language: Name und Benachrichtigungsaktion Lebensdauer der CQ (START / EXPIRE) Ausführungsintervall (EVERY) Angaben umrahmen die eigentliche XML-QL Anfrage XML-QL (deklarative Anfragesprache): Anfrage nach XML-Substrukturen mit Selektionsprädikaten Komplexe Anfragen durch entsprechende Konstruktion von Variablen möglich Angabe der Datenquelle (auch mehrere) Definition der Ausgabe möglich 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 13 NiagaraCQ: Ansatz zum effizienten Matching Ziel: Nutzung der existenten Anfragebearbeitung und Datenquellenorganisation Optimierung der CQ-Organisation statt Modifikation der Mechanismen Hypothese: Viele Anfragen sind gleichartig Gleichartige Anfragen werden zu einer Gruppe zusammengefasst nur ein Match für alle Anfragen einer Gruppe nötig höhere Skalierbarkeit 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 14 7

NiagaraCQ: inkrementelle Gruppenoptimierung 1 Anfrage: PROZESS: Parsen der Anfrage Expression / Group Signature: inkrementelle Gruppierung:? Gruppe:= Group Signature == Expression Signature Group: Group Signature Group Constant Table Group Plan Group Constant Table: ja zu Gruppe hinzufügen: Konstanten in die Group Constant Table aufnehmen, Destination Buffer zuweisen nein neue Gruppe: Group Signature == Expression Signature der Anfrage 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 15 NiagaraCQ: inkrementelle Gruppenoptimierung 2 Group Plan: Ausführung des Group Plan: - einmaliger Scan der Datenquelle - für jeden Wert der Group Constant Table wird der Destination Buffer aktiviert Nur 1 Match mit der Datenquelle für alle Anfragen in einer Gruppe nötig Query Split: - Komplexe Anfragen werden in Teilanfragen zerlegt - Ergebnisse der 1. Teilanfrage stehen in der Constant Table - Intermediate File dient als Datenquelle der 2. Teilanfrage - Weniger Gruppen nötig 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 16 8

XFilter: Zielsetzung und Architektur Zielsetung: selektive Informationsverteilung aus eingehenden Dokumenten werden die jeweils relevanten an die Profilinhaber weitergeleitet (Dokumenten-Filter-System) Architektur: 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 17 XFilter: Prozesse und Profildefinition Prozesse: neues Profil: Anfrageparsierung durch XPath Parser, Indizierung im System Anfrage feuern: detektierte Events eines eingehenden Dokuments löst Filtermechanismus aus Profildefinition über XPath: Adressierung von XML Elementen über Path Expression: path expression = /a/b//c Location Step DescendantOperator Filterdefintion Pfadangaben: absolut relativ Einsatz in XFilter: enthält ein Dokument die Path Expression einer Anfrage, wird es an den Profilinhaber weitergeleitet 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 18 9

XFilter: Ansatz zum effizienten Matching 1 Path Nodes: als Final State Maschine einer Query Zerlegung durch XPath Parser Jeder Path Node ist ein State der FSM Werte: Query ID: zugehörige Query Position: Location Step der Expression Relative Position: -1 für Decendant Operator 0 für ersten Location Step (+) 1 sonst Level: Hierarchiestufe im Dokument, auf der dieser Path Node geprüft werden soll NextPathNodeSet Pointer auf nachfolgende Path Nodes 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 19 XFilter: Ansatz zum effizienten Matching 2 Query Index: Path Nodes sind ihrem Elementnamen zugeordnet. Candidate Lists: enthält den Current State des FSM einer Query (zu Beginn den Initial State) Wait Lists: enthält alle weiteren States der FSM einer Query 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 20 10

XFilter: Ansatz zum effizienten Matching 3 Filtermechanismus: XML Parser detektiert Events (Start Element, End Element, Element Characters) Event Handler: Start Element: überprüft alle Path Nodes in der Candidate List Levelcheck: Levelwert des Path Nodes gegen Dokumentenlevel Filtercheck: Prüfung eventueller untergeordneter Filterdefinitionen Wenn Checks bestanden: Traversion der FSM in den nächsten State: PN löschen && Folge-PN aus der Wait List in die Candidate List End Element: verschiebt Path Nodes in die Wait List Element Charakter: überprüft Filterdefinition für Elementinhalt Löst ebenfals FSM-Traversion aus Wiederholung, bis der Final State der FSM einer Query erreicht ist: dann ist das Dokument als passend zum Profil ermittelt. 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 21 XFilter: Ansatz zum effizienten Matching 4 Erweiterte Filteralgorithmen: List Balancing: statt des ersten Path Nodes einer Query wird derjenige als Initial State genommen, dessen Candidate List im Query Index am kürzesten ist. Ausgewogene Anzahl von Path Nodes für die Elementnamen Prefiltering: vor dem Filtern werden alle Queries aus dem Query Index entfernt, die XML Elemente aufweisen, die nicht im eingehenden Dokuments sind. Weniger potentielle Queries im Query Index 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 22 11

Abschnitt C Vergleich der Lösungsansätze Ausdrucksfähigkeit der Profildefinitionssprachen im Zusammenhang mit der Verwendung im System Skalierbarkeit Ansätze zum effizienten Matching 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 23 Ausdrucksfähigkeit der Profildefinitionssprachen 1 Vergleich der Anfragesprachen Aspekt Selektionsqualität: XML-QL Wertselektion Abschnitt C: Vergleich der Systeme XPath Strukturselektion Deklaration der Datenquelle: Ergebniskonstruktion: explizit in der Anfrage explizit in der Anfrage von außen an Quelle herantragen Implizite Rückgabe: XML-Subtree / FALSE unterschiedliche funktionale Konzeptionen: XML-QL:= aufarbeitende Informationsgewinnung aus bekannten Datenquellen XPath := inhaltliche Evaluation unbekannter XML-Dokumente 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 24 12

Ausdrucksfähigkeit der Profildefinitionssprachen 2 Abschnitt C: Vergleich der Systeme Verwendung der Sprachen in Systemen NiagaraCQ: Funktionale Intention: Auskunftssystem Anwendungssystem von XML-QL als deklarative Anfragesprache XFilter: Funktionale Intention: Dokumenten-Filter-System Nutzung von XPath zur inhaltlichen Evaluation von Dokumenten Funktionale Intention der Systeme == Funktionale Konzeption der Anfragesprachen 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 25 Skalierbarkeit Abschnitt C: Vergleich der Systeme Anfragenhomogenität Anfragen (in XPath): Q1 = //a/b Q2 = //a/b/c Q3 = //b/c Q4 = /a/b Art der Homogenität: gleich: Q1,Q2 gleichartig: Q1,Q2; Q1,Q3; Q2,Q3 ungleich: Q1,Q4; Q2,Q4; Q3,Q4 NiagaraCQ: Skalierbarkeit desto größer, je homogener bzgl. Gleichartigkeit XFilter: Skalierbarkeit desto größer, je heterogener bzgl. Gleichheit (nur beim Basic Algorithmus beim List Balancing besteht keine Abhängigkeit) NiagaraCQ ist stärker abhängig als XFilter 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 26 13

Ansätze zum effizienten Matching Vergleich der Optimierungsansätze Prozesse in Benachrichtigungsystemen: NiagaraCQ: Unterstützung aller Prozesse (abgeschl. Benachrichtigungssystem) Optimierungsansatz: Aufgabendelegation der Filterkomponente XFilter: Abschnitt C: Vergleich der Systeme Invoker Observer Filter Notifier Verwaltung Datenquellen Eventmeldungen Matching Events - Profile Benachrichtigung Invoker fehlt (als Filterkomponente für größere Informationssysteme) Optimierungsansatz: algorithmischer Filtermechanismus 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 27 Zusammenfassung Unterschiede: Aspekt Funktionale Intention: Profildefinitionssprache: NiagaraCQ Auskunftssystem XML-QL: Informationsaufarbeitung XFilter Dokumenten-Filter-System XPath: Inhaltsevaluation Skalierbarkeit: (bzgl. Anfragehomogenität ) Abhängig bzgl. Gleichartigkeit Abhängig bzgl. Gleichheit, bzw. gar nicht abhängig Optimierungsansatz: Aufgabendelegation Leistungsoptimierung 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 28 14

Statement NiagaraCQ: abgeschlossenes Auskunftssystem komplexe Anfragen möglich Skalierbarkeit nur durch ausgefeiltes Zusammenspiel gewöhnlicher Technologien XFilter: Dokumenten-Filter-System als Komponente weniger komplexe Anfragen möglich Skalierbarkeit durch algorithmischen Filtermechanismus gesichert 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 29 Vielen Dank und schönes Wochenende noch... 01.07.2001 Active Datamanagement, Institut für Informatik FUB, Michael Stollberg 30 15