VL Informationsintegration Verteilung, Autonomie und Heterogenität 25.10.2004 Felix Naumann Wiederholung: Data Warehouse Aufbau eines Data Warehouse Quelle: Ulf Leser, VL Data Warehouses 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 2 Wiederholung: Föderierte DBMS 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 3 Wiederholung: Redundanz Intensionale Redundanz ermöglicht extensionale Komplementierung. Extensionale Redundanz ermöglicht intensionale Komplementierung. Zwei Quellen mit gleichem Schema können zu einer überdeckenderen Quelle integriert werden Zwei Quellen, die über gleiche Dinge sprechen können zu einer dichteren Quelle integriert werden. Insgesamt ist das Ziel der Integration eine vollständigere Quelle. 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 4 Wiederholung: Redundanz Quelle 1 Quelle 2 A(V) a1 a2 B(W) C(X) D(Y) b1 c1 d1 b2 d2 A(V) a2 a3 D(W) E(X) d2 c2 d3 e3 Quelle 1 & 2 A(V) a1 a2 a3 25.10.2004 F(Z) f3 Intensionale Redundanz Extensionale Redundanz Extensionale Komplementierung Intensionale Komplementierung B/D(W) C/E(X) D(Y) F(Z) b1 c1 d1 f(b2,d2) c2 d2 d3 e3 f3 Felix Naumann, VL Informationsintegration, WS 05/06 5 Überblick Verteilung Autonomie Syntaktische Heterogenität Strukturelle Heterogenität Später: Semantische Heterogenität 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 6 Klassifikation von Informationssystemen [ÖV99] Drei orthogonale Dimensionen Verteilung Autonomie Heterogenität 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 7 Klassifikation verteilter DBMS [ÖV91] Verteilte, homogene DBS Verteilung Verteilte, föderierte DBS Verteilte, heterogene DBS Verteilte, heterogene föderierte DBS Autonomie Logisch integrierte und homogene DBS Heterogenität 25.10.2004 Heterogene, integrierte DBS Heterogene, föderierte DBS Felix Naumann, VL Informationsintegration, WS 05/06 Homogene, föderierte DBS 8 Klassifikation verteilter DBMS nach [ÖV99] Peer-to-peer Verteilung/Distribution z.B. A2,D1,H0 Client/Server Autonomie Heterogenität 25.10.2004 Enge Integration Semiautonom Felix Naumann, VL Informationsintegration, WS 05/06 Isolation 9 Zusammenhang mit Föderierten DBMS Verteilung führt zu Autonomie, Intra-Organisation: Historisch Inter-Organisation: Internet & WWW und Autonomie führt zu Heterogenität. Verantwortung liegt bei lokalen Administratoren Systempflege Nutzbarkeit und Nützlichkeit Erweiterungen am Informationssystem Design ... Diskussion Historischer Entwicklung, aber orthogonale Kriterien! 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 10 Verteilung (Distribution) Ein verteiltes Informationssystem ist eine Sammlung mehrerer, logisch verknüpfter Informationssysteme, die über ein gemeinsames Netzwerk verteilt sind. [ÖV91] 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 11 Physikalische Verteilung Motiviert durch Hardwareanforderungen (Hardwarebeschränkungen) Server stehen an unterschiedlichen Orten Gleicher Raum, anderer Raum Anderes Gebäude Andere Stadt, anderes Land Shared Nothing Server haben keine gemeinsamen, abhängigen Hardwarekapazitäten Memory Disk CPU Mit Ausnahme des Netzwerks Im Gegensatz zu shared-disk und shared-memory 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 12 Logische Verteilung Motiviert durch Anwendungsanforderungen Redundanz Zuverlässigkeit Bei Ausfall eines Servers Verfügbarkeit Bei Ausfall eines Netzwerkteils Effizienz Replikation Caching Partitionierung Vertikal Horizontal 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 13 Verteilung – Vor- und Nachteile Vorteile aus Sicht der Quellen und des IIS Autonomie (gleich genauer) Performance: Kapazität dort, wo sie gebraucht wird Verfügbarkeit: Bei Ausfall eines Standorts Erweiterbarkeit Teilbarkeit (Verantwortung bei anderen Organisationseinheiten) Nachteile aus Sicht des IIS Komplexität (Verwaltung, Optimierung) Kosten Sicherheit Autonomie 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 14 Verteilung – Techniken HTTP, CORBA, ... nicht hier. Anwendungsentwicklung ohne Spezifikation der physikalischen Präsenz der Komponenten Annahmen an Transparenz Datenunabhängigkeit (jedes DBMS) auch Speicherorttransparenz Netzwerktransparenz Replikationstransparenz Fragmentationstransparenz auch Partitionierungstransparenz 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 15 Überblick Verteilung Autonomie Syntaktische Heterogenität Strukturelle Heterogenität Später: Semantische Heterogenität 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 16 Autonomie (Autonomy) Der Grad zu dem verschiedene DBMS unabhängig operieren können. Bezieht sich auf Kontrolle, nicht auf Daten. Klassen nach [ÖV99] Design-Autonomie Kommunikations-Autonomie Ausführungs-Autonomie 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 17 Design-Autonomie Auch: Entwurfsautonomie Freiheit des lokalen DBMS bezüglich Datenmodell Schema Abdeckung der Domäne (universe of discourse, miniworld) Grad der Normalisierung Benennung Transaktionsmanagement Relational, hierarchisch, XML Sperrprotokolle Freiheit dies jederzeit zu ändern. Besonders problematisch! 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 18 Design-Autonomie – Beispiel Schema und Datenmodell 1 (Fast) relational Flach Schema und Datenmodell 2 XML hierarchisch 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 19 Kommunikations-Autonomie DBMS frei bezüglich Wahl mit welchen Systemen kommuniziert wird Wahl wann mit anderen Systemen kommuniziert wird Wahl was (welcher Teil der Information) kommuniziert wird Wahl wie mit anderen Systemen kommuniziert wird Jederzeit Eintritt/Austritt aus integriertem System Anfragesprache Wahl welcher Teil der Anfragemöglichkeiten zur Verfügung gestellt werden Prädikate Sortierung Write ... 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 20 Kommunikations-Autonomie – Beispiel Extrem 1: Voller SQL Zugang z.B. via JDBC Transaktionen Optimierung Lesend (und Schreibend?) Schemaveränderungen? Antwort als Ergebnisrelation Extrem 2: HTML Formular Nur ein (oder mehr) Suchfelder Antwort als HTML Text Nur Teile der Daten (public area) 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 21 Ausführungs-Autonomie DBMS frei bezüglich Wahl wann Anfragen ausgeführt werden Wahl wie Anfragen ausgeführt werden Wahl der Scheduling-Strategien Wahl Optimierungs-Strategien Wahl ob globale Transaktionen unterstützt werden 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 22 Ausführungs-Autonomie – Beispiel Optimierung und Scheduling Behandlung externer vs. lokaler Anfragen Golden customers Garantierte Antwortzeiten Transaktionen Dirty-read egal? 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 23 Autonomie Heterogenität Verteilung als „Ursache“ für Autonomie Autonomie als Ursache für Heterogenität: Autonome Systeme Gestaltungsfreiheit Unterschiedliche Entscheidungen Heterogenität 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 24 Überblick Verteilung Autonomie Syntaktische Heterogenität Strukturelle Heterogenität Später: Semantische Heterogenität 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 25 Heterogenität (Heterogeneity) Heterogenität herrscht, wenn sich zwei miteinander verbundene Informationssysteme syntaktisch, strukturell oder inhaltliche unterscheiden. Syntaktische Heterogenität Auch: „Technische Heterogenität“ Strukturelle Heterogenität Semantische Heterogenität Heterogenitäten zu überbrücken ist die Kernaufgabe der Informationsintegration. 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 26 Heterogenitätsklassen Auch andere Klassifikationen möglich, z.B. [BKLW99] Syntaktische Heterogenität Datenmodell Heterogenität Logische Heterogenität Oder nach [SPD92] Semantische Konflikte Beschreibungskonflikte Heterogenitätskonflikte Strukturelle Konflikte Datenkonflikte 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 27 Syntaktische Heterogenität Hardware-Heterogenität Software-Heterogenität Schnittstellen-Heterogenität 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 28 Hardware Heterogenität Bandbreite Hauptspeicher CPU Art Geschwindigkeit Nicht hier 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 29 Software Heterogenität Betriebssystem Dateisystem Protokolle HTTP, ODBC, Java API, CORBA, etc. Zustandsbehaftet vs. zustandsfrei Sicherheit Security level Log-on Prozedur 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 30 Software Heterogenität – Beispiel String sqlQuery = „SELECT Name, Strasse FROM Hersteller WHERE PLZ = 69115“; ... Connection jdbcCon = DriverManager.getConnection(dbURL, ...); Statement stmt = jdbcCon.createStatement(); ResultSet table = stmt.executeQuery(sqlQuery); ... String webQuery = „plz=69115“; ... URL url = new URL(„http://www.system2.de/cgi-bin /search.cgi“ + „?“ + webQuery); URLConnection urlCon = new url.openConnection(); InputStreamReader reader = new InputStreamReader( urlCon.openStream()); ... 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 Nicht hier Quelle: VL: Föderierte Datenbanksysteme Peter Tomczyk, FZI & Uni Karlsruhe 31 Schnittstellen Heterogenität Schnittstellen von Informationssystemen sind im wesentlichen deren Anfragensprache: HTML Formular, „Google“-Sprache (+, - , ...), SQL, XQuery, etc. Jetzt hier! 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 32 Schnittstellen Heterogenität Negation vs. keine Negation Oft zu teuer Gleichheit / Ungleichheit „=“ oder auch „>,<, , “ Konjunktion (UND) oder auch Disjunktion (ODER) Prädikate nur mit Konstanten (author = „Melville“) Oder auch mit anderen Variablen (ResidenceCountry = Nationality) Gebundene und freie Variablen [RSU95,LC00,YLGU99] später Andere Einschränkungen Joins über maximal 3 Relationen z.B. Prädikate nur über eine Auswahl von Werten 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 33 Schnittstellen Heterogenität Beispiel Suche Konjunktion/Disjunktion gleich/ungleich 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 34 Schnittstellen Heterogenität – Beispiel Gebundene Variablen Prädikat nur mit Auswahl von Werten 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 35 Schnittstellen Heterogenität In einzelnen Systemen kein Problem Probleme für integrierte Systeme 1. 2. 3. Globale Anfragesprache ist mächtiger als lokale Anfragesprache Anfragen eventuell nicht ausführbar Oder globales System muss kompensieren Lokale Anfragesprache ist mächtiger als globale Anfragesprache Verpasste Chance, lokale (effiziente) Ausführung auszunutzen Gebundene und freie Variablen sind inkompatibel Anfragen eventuell nicht ausführbar 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 36 Mächtige globale Anfragesprache SQL SELECT WHERE AND * FROM Books Author = „Defoe“ PubYear = 1979 HTML Form 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 37 Mächtige globale Anfragesprache SELECT * FROM Books WHERE Author = „Defoe“ AND PubYear = 1979 Daniel Defoe, Robinson Crusoe, 1979 PubYear = 1979 Daniel Defoe, Robinson Crusoe, 1986 Daniel Defoe, Robinson Crusoe, 1979 Daniel Defoe, Moll Flanders, 1933 Defoe 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 38 Mächtige globale Anfragesprache SELECT * FROM Books WHERE Author = „Defoe“ AND PubYear > 1979 Daniel Defoe, Robinson Crusoe, 1979 PubYear = 1979 Daniel Defoe, Robinson Crusoe, 1986 Daniel Defoe, Robinson Crusoe, 1979 Daniel Defoe, Moll Flanders, 1933 Defoe Year: 25.10.2004 1979 ? Felix Naumann, VL Informationsintegration, WS 05/06 39 Mächtige lokale Anfragesprache HTML Form SELECT WHERE SQL 25.10.2004 * FROM Books Author = „Defoe“ Verpasste Chancen. Felix Naumann, VL Informationsintegration, WS 05/06 40 Gebundene & Freie Variablen Gebundene Variablen müssen bei einer Anfrage gebunden werden. z.B.: „Search“-Feld bei Google Freie Variablen müssen nicht gebunden werden. z.B. „Autor“-Feld bei Amazon.de, falls Titel gebunden ist. 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 41 Gebundene & Freie Variablen – Beispiel & Ausblick SONGS Song CD CDs CD Künstler Preis Friends Life Love Lucy 15 Friends Love Story Snoopy 14 Künstler CD Künstler Preis Story Lucy 13 Love Snoopy 10 Life Charlie 8 Bastelaufgabe 1: Wie teuer ist die billigste CD mit einem Song namens “Friends”? 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 Quelle: [LC00] 42 Gebundene & Freie Variablen – Beispiel & Ausblick SONGS Song CD CDs CD Künstler Preis Friends Life Love Lucy 15 Friends Love Story Snoopy 14 Künstler CD Unterstrichen = gebundene Variable Story Lucy 13 Love Snoopy 10 Life Charlie 8 Bastelaufgabe 2: Welches ist die billigste CD mit einem Song namens “Friends”, die Sie anfragen können? 25.10.2004 Künstler Preis Felix Naumann, VL Informationsintegration, WS 05/06 Mehr nächste Woche! 43 Syntaktische Heterogenität Zusammenfassung Hardware Heterogenität Software Heterogenität Bandbreite, CPU, ... Protokolle, Sicherheit, ... Schnittstellen Heterogenität Mächtigkeit der Anfragesprachen Gebundene & freie Variablen 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 44 Überblick Verteilung Autonomie Syntaktische Heterogenität Strukturelle Heterogenität Später: Semantische Heterogenität 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 45 Strukturelle Heterogenität Datenmodell-Heterogenität Unterschiedliche Semantik Unterschiedliche Struktur Schematische Heterogenität Integritätsbedingungen, Schlüssel, Fremdschlüssel, etc. Schema (Attribut vs. Relation etc.) Struktur (Gruppierung in Tabellen) 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 46 Datenmodell-Heterogenität Datenmodelle Relationales Modell XML Modell OO Modell Hierarchisches Modell Adresse(PersonId, Strasse, Hausnr., PLZ, Stadt) Adresse Strasse Hausnr. PLZ Stadt n 1 Person Name Alter Person( Id, Name, Alter) 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 47 Schematische Heterogenität Sprachregelung hier: Schemas statt Schemata Alt-Griechisch wird ignoriert... 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 48 Schematische Heterogenität Struktur Modellierung Relation vs. Attribut Attribut vs. Wert Relation vs. Wert Benennung Relationen Attribute Jeweils Homonyme und Synonyme Normalisiert vs. Denormalisiert Geschachtelt vs. Fremdschlüssel Diese Probleme sogar bei gleichem Datenmodell! 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 49 Schematische Heterogenität Männer( Id, Vorname, Nachname) Frauen( Id, Vorname, Nachname) Relation vs. Wert Person( Id, Vorname, Nachname,männlich, weiblich) Person( Id, Vorname, Nachname, Geschlecht) 25.10.2004 Relation vs. Attribut Attribut vs. Wert Felix Naumann, VL Informationsintegration, WS 05/06 50 Schematische Heterogenität Tabellen-Tabellen Konflikte Namenskonflikte Strukturkonflikte Semantisch gleiche Tabellen mit verschiedenen Namen (Synonym) Verschiedene Tabellen mit gleichem Namen (Homonym) fehlende Attribute fehlende, aber ableitbare Attribute IC-Konflikte (Integrity-Constraint = Integritätsbedingungen) 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 51 Schematische Heterogenität – Beispiel mitarbeiter p_id vorname nachname funktion 1 Peter Müller Sachbearb. 5 Petra Weger Sekr. ... ... ... ... Homonym mitarbeiter (leitend) p_id vorname 2 Stefanie Meier 2 Petra Weger 2 Andreas Zwickel ... 25.10.2004 ... Fehlendes (ableitbares) Attribut name ... IC Konflikt (Eindeutigkeit) Felix Naumann, VL Informationsintegration, WS 05/06 52 Schematische Heterogenität Attribut-Attribut Konflikte Namenskonflikte Verschiedene Namen für gleiche Attribute (Synonyme) Gleiche Namen für verschiedene Attribute (Homonyme) Default-Wert-Konflikte IC-Konflikte Datentypkonflikte Bedingungskonflikte 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 53 Schematische Heterogenität – Beispiel mitarbeiter p_id Vorname VARCHAR(35) nachname 1 Wolfgang Meyer 33 5 Klaus Schmidt NULL ... ... alter ... ... Synonym mitarbeiter p_id Vorname VARCHAR(20) name alter 1 Peter Müller 0 5 Petra Weger 17 ... IC: alter > 18 ... ... ... Default Werte Datentypkonflikt 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 54 Schematische Heterogenität Beispiel Normalisiert vs. Denormalisiert 1:1 Assoziationen zwischen Werten wird unterschiedlich dargestellt Durch Vorkommen im gleichen Tupel Durch Schlüssel-Fremdschlüssel Beziehung •ARTICLE •artPK •title •AUTHOR •artFK •name 25.10.2004 •PUBLICATION •pubID •title •author Felix Naumann, VL Informationsintegration, WS 05/06 55 Schematische Heterogenität Beispiel Geschachtelt vs. Flach 1:n Assoziationen werden unterschiedlich dargestellt Als geschachtelte Elemente Als Schlüssel-Fremdschlüssel Beziehung •ARTICLE •artPK •title •pages •AUTHOR •name 25.10.2004 •PUBLICATION •pubID •title •author Felix Naumann, VL Informationsintegration, WS 05/06 ID? 56 Schematische Heterogenität Lösungen Problem Einheitlich auf beide Schemas zugreifen Beide Schemas in eine gemeinsames neues Schema integrieren Auf Schemaebene: Schemaintegration Auf Datenebene: Materialisierte Integration Für die materialisierte Integration Auf Schemaebene: Schema Mapping und Schema-Sprachen Auf Datenebene: Virtuelle Integration Schemaintegration ETL Für die virtuelle Integration Schema-Sprachen Z.B. SchemaSQL, MSQL, CPL Schema Mapping Z.B. Clio, RONDO, u.a. 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 57 Schematische Heterogenität – Lösungen (Ausblick) SchemaSQL [LSS96] Erweiterung von SQL Daten und Metadaten werden gleich behandelt Umstrukturierungen innerhalb der Anfrage Dynamische Sicht-Definition Horizontale Aggregation SELECT FROM WHERE AND AND 25.10.2004 RelA uniA->RelA, uniA::RelA A, uniB::grundgehalt B RelA = B.institut High-order Join A.Kategorie = „Student“ A.grundgehalt > B.Student Felix Naumann, VL Informationsintegration, WS 05/06 58 Schematische Heterogenität – Lösungen (Ausblick) Schema Mapping •ARTICLE •artPK •title •pages •AUTHOR •artFK •name •PUBLICATION •pubID •title •date •author SELECT FROM WHERE 25.10.2004 artPK AS pubID title AS title null AS date name AS author ARTICLE, AUTHOR ARTICLE.artPK = AUTHOR.artFK Felix Naumann, VL Informationsintegration, WS 05/06 59 Zusammenfassung Verteilung Autonomie „Verursacht durch Autonomie“ Syntaktische Heterogenität Physikalisch Design-Autonomie Kommunikations-Autonomie Ausführungs-Autonomie Heterogenität Hardware Heterogenität Software Heterogenität Schnittstellen Heterogenität Strukturelle Heterogenität Datenmodell-Heterogenität Schematische Heterogenität Schema 25.10.2004 Hardwarekauf Protokolle Anfragesprachen geschachtelt, flach, objektorientiert Attribute, Wert; Relation SchemaSQL und Schema Mapping Felix Naumann, VL Informationsintegration, WS 05/06 60 Literatur Wichtigste Literatur für heute [BKLW99] Busse, Kutsche, Leser, Weber, Federated Information Systems: Concepts, Terminology and Architectures. Forschungsbericht 99-9 des FB Informatik der TU Berlin, 1999. Online: http://www.informatik.huberlin.de/~leser/publications/tr_terminology.ps [ÖV99] Principles of Distributed Database Systems M. Tamer Özsu, Patrick Valduriez, Prentice Hall, (1991/)1999. Kapitel 1 und 4 Weitere Literatur [Con97] Föderierte Datenbanksysteme. Konzepte der Datenintegration Stefan Conrad, Springer Verlag, 1997 25.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 61