Integration von föderierten Datenbanken Peter Brezany Institut für Scientific Computing Universität Wien P.Brezany Institute of Scientific Computing – University of Vienna Motivation • 2 widersprüchliche Ziele: – Verteilung/Dezentralisation » Insbesondere bei Neuentwicklungen (Lastverteilung, Erhöhung der Ausfallssicherheit,...) – Integration » Bei bestehenden Systemen will man verteilt gespeicherte und unabhängig verwaltete Daten (die aber inhaltlich zusammengehören) wieder logisch zusammenführen • Anwendungsbeispiele: – Geizhals: Produktdatenbanken von verschiedenen Händler ansprechen – Biomedizin: Zu Begriff Bilder, Übersetzungen,... verfügbar machen • Für beide Ziele gilt: – Techn. Vorraussetzung (Vernetzung heterogener Rechner) gegeben – Entfernter Zugriff auf Daten in der Regel effizient möglich P.Brezany Institute of Scientific Computing – University of Vienna 2 Probleme I • Autonomie – Design: Datenquellen Manager entscheidet was und wie gespeichert – Kommunikation: wie und wann auf Anfrage geantwortet wird – Ausführung: lokale Operationen ohne Einwirkung von externen ausführbar – Verbindung: ob und wieviel von Funktionalität/Resourcen zur Verfügung gestellt wird • Verteilung (hybrid) P.Brezany Institute of Scientific Computing – University of Vienna 3 Probleme II • Heterogenität – Syntaktisch » Technisch: OS, Platform,... » Schnittstelle: Abfragesprache, ... – Datenmodel » Relational, OO,..... » Oft über Wrapper aufgelöst – Logisch » Semantisch: • Gleiche Namen für unterschiedliche Konzepte (Hynonyme) • Unterschiedliche Namen für gleiche Konzepte (Synonyme) • Attribut kann gleiche Bedeutung haben, aber unterschiedliche Einheit » Schematisch: • Kodierung von Concepten mit unterschiedlichen Elementen des Datenmodels » Strukturell: • Evolution • E.g. Attribute in verschiedenen Tabellen – Änderungen im Laufe der „Lebenszeit“ der Integration erforderlich P.Brezany Institute of Scientific Computing – University of Vienna 4 Föderierte Datenbanken 5 Schichten Referenz-Architecture: • • • • • P.Brezany Lokales Schema: ausgedrückt in lokaler DDL & Datenmodel Component Schema: in gemeinsames Datenmodel überführtes lokales Schema Export Schema: Teil des Component Schemas welches extern sichtbar ist Global Schema: Integration aller export. Schemas External Schema: Global Schema angepasst an spezielle User/Anwendungen Institute of Scientific Computing – University of Vienna 5 Kriterien für Integrationsmethoden • Vollständigkeit – Es darf keine in einem lokalen Schema enthaltene Information verloren gehen • Korrektheit – Alle in dem integrierten Schema enthaltenen Informationen müssen in mindestens einem lokalen Schema semantisch äquivalent vorhanden sein » Nur konsistente Ergänzungen der bestehenden Schemata erlaubt • Minimalität – Konzepte, die in mehreren lokalen Schemata modelliert sind, dürfen nur einmal im integrierten Schema repräsentiert sein • Verständlichkeit – Integriertes Schema sollte leicht verständlich sein!!! P.Brezany Institute of Scientific Computing – University of Vienna 6 Mediatoren • Wiederhold 92 • Wrapper: – Komponente die Datenquellen einheitlich zugreifbar macht (Interface) – Versteht Anfragen des Mediators – VT: neue Arten/Strukturen/Quellen einfach hinzufügbar • Mediator: – Verwendet Wrapper und andere Mediatoren als Quellen – Hat föderiertes Schema, Aufgaben können aber weit über reine Datenintegration hinausgehen » Abstrahierung von Daten » Enthalten techn. und administratives „Wissen“ um Informationen für Entscheidungsfindung zu liefern – Sollten leichtgewichtig, wiederverwendbar und flexible sein – Verteilung vorgesehen P.Brezany Institute of Scientific Computing – University of Vienna 7 Architecture of a Mediation-Based Information System P.Brezany Institute of Scientific Computing – University of Vienna 8 Mediators – centralisiert vs. verteilt Centralized Model P.Brezany Distributed Model Institute of Scientific Computing – University of Vienna 9 A Prototypical Architecture of a Data Integration System P.Brezany Institute of Scientific Computing – University of Vienna 10 Case Studie - Gegebenheiten • Heterogenitäten: – Name in A ist „Vorname Nachname“ (wie im Ziel Format) – Name in C über 2 „Spalten“ verteilt => zusammenführen • Verteilung: – 3 Datenquellen (XML, relational, Datei mit bestimmten Format) P.Brezany Institute of Scientific Computing – University of Vienna 11 Case Studie - Infobedarf • Vorgangsweise via Top Down Approach: – Welche Daten sollen in welcher Form verfügbar sein » Tabelle: patient (p_id, p_name, p_adr, p_dob, p_fc) – Quellen beschreiben damit sie gewünschte Daten liefern können » SQL View Definitions, XML Dokumente,... mit eingebauter Funktionalität oder auch der Möglichkeit externe Funktionen zu verwenden – Zusätzliche Operatoren nötig um Daten zusammenzuführen P.Brezany Institute of Scientific Computing – University of Vienna 12 Case Studie - Infobedarf • Mediator: – Userschnittstelle – Schema für User – Kennt teilnehmende Wrapper und Operationen um Ergebnisse zusammenzuführen » R = (A JOIN B) UNION C – Mägl. Abfragesprache: SQL • Wrapper: – Nicht direkt vom User angesprochen – Kennt sein eigenes „Schema“ und Daten die er zur Verfügung stellt – Versteht Anfragen des Mediators » E.g. Anfrage besteht aus array mit gewünschten Spalten und Bedingungen an die Daten » Wie er sie auf tatsächliche Datenquelle anwendet » Für jeden Type von Datenquellen eigenen Wrapper – Gibt Ergebnisse in vordefinierter Form zurück (XML Dokument mit speziellem Schema, e.g. XMLWebRowSet) P.Brezany Institute of Scientific Computing – University of Vienna 13 Case Studie - Komponenten • Mediator: – User Schema: : patient (p_id, p_name, p_adr, p_dob, p_fc) – Zerlegt Anfrage in benötigte Spalten für jeden Wrapper + dazugehörige Bedingungen • Wrapper: – Einen für XMLDB: » Schema: patient (p_id, p_name, p_adr, p_dob) » Setzt Anfragen in XPath um » Transformiert XML Ergebnisse in Standardformat – Einen für MySQL: » Schema: patient (p_id, p_fc) » Baut SQL Anfrage aus Mediator Anfrage zusammen » Hat schon richtiges Ergebnissformat, nämlich WebRowSet – Einen für CSV: » Schema: patient (p_id, p_name, p_adr, p_dob, p_fc) » Liest Zeile für Zeile und retuniert nur solche, die Bedingungen erfüllen – Gleicht „Schwächen“ der Quellen aus, e.g. keine Abfragesprache, keine Sortierung,.... P.Brezany Institute of Scientific Computing – University of Vienna 14 Mediation Schema P.Brezany Institute of Scientific Computing – University of Vienna 15 Grid Data Mediation Service Architecture P.Brezany Institute of Scientific Computing – University of Vienna 16 Case Studie - Anfrage • Query: – SELECT p_name FROM patient WHERE id=10 Standard to optimized P.Brezany Institute of Scientific Computing – University of Vienna 17 Mögl. Probleme bei Mediatoren • Wer programmiert neu benötigte Wrapper? Offene gut dokumentierte Schnittstellen? – semiautomatisiert • Wer generiert Beschreibungen für Wrapper bei Schemaänderungen? • Welches einheitliche Austauschformat zw. Wrapper – Mediator verwendet? – OO (Amos II), relational, XML,... P.Brezany Institute of Scientific Computing – University of Vienna 18 Adaptive Semantic Data Integr. on the Grid P.Brezany Institute of Scientific Computing – University of Vienna 19 Zusammenfassung • Datenintegration zur Entscheidungsfindung immer wichtiger • Hohe Anforderungen (Autonomie!) • Vielzahl von Problemen (Evolution, Semantik) • FDBS vs VDBS vs Mediator/Wrapper P.Brezany Institute of Scientific Computing – University of Vienna 20 Weiterführende Informationen • IBM Systems Journal Vol. 41 zum Thema „Information Integration“ http://www.research.ibm.com/journal/sj41-4.html • Vorlesung der Uni Freiburg zum Thema „Heterogene Datenbanksysteme” http://www.informatik.uni-freiburg.de/~dbis/lehre/isss99/integra.ps P.Brezany Institute of Scientific Computing – University of Vienna 21