Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

Ähnliche Präsentationen


Präsentation zum Thema: "Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken."—  Präsentation transkript:

1 Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken

2 2 Schema-Integration bei homogenen, eng integrierten vDBMS Lokales Schema LDB1Lokales Schema LDB2Lokales Schema LDB3 Globales Schema der verteilten Datenbank AP 1 AP 2

3 3 Klassifikation verteilter DBMS Autonomie Heterogenität Verteilung Zentrales DBs Heterogenes Multi-DBMS Heterogenes, föderiertes vDBMS Heterogenes, eng integriertes vDBMs Homogenes, eng integriertes vDBMs Homogenes, föderiertes vDBMS Homogenes Multi-DBMS

4 4 Entwurf eines verteilten Datenbanksystems Globales Schema Fragmentierungs-Schema Zuordnungs-Schema Lokales Schema Lokales Schema Lokales DBMS Lokale DB Station S1Station Sn

5 5 Fragmentierung und Allokation R R1R1 R2R2 R3R3 R 11 R 12 R 21 R 31 R 22 Fragmentierung Station S1 Station S2 Station S3

6 6

7 7 Horizontale Partitionierung

8 8

9 9

10 10 Abgeleitete Horizontale Partitionierung

11 11 Abgeleitete Horizontale Partitionierung

12 12 Abgeleitete Horizontale Partitionierung

13 13

14 14

15 15 Algebraische Beschreibung der abgeleiteten Partitionierung

16 16 Vertikale Partitionierung R R1 R2 K

17 17 Verlustlosigkeit und Rekonstruktion von R Eigentlich reicht für die Verlustlosigkeit K schema(R1) oder K schema(R2)

18 18 Kombinierte Partitionierung: Vertikale und Horizontale Part. R R1 R21 R2 R22 R23

19 19 Kombinierte Partitionierung: Vertikale und Horizontale Part. R R1 R21 R2 R22 R23

20 20 Kombinierte Partitionierung: Horizontale und VertikalePart. R R11 R1 R2 R3 R31 R33 R12 R32

21 21 Kombinierte Partitionierung: Horizontale und VertikalePart. R R11 R1 R2 R3 R32R33 R12 R31

22 22 Korrektheits-Anforderungen Rekonstruierbarkeit Vollständigkeit Disjunktheit

23 23 Beispiel-Schema

24 24 Beispiel-Partitionierung

25 25 Beispiel: Gemischte Partitionierung

26 26 Beispiel aus dem Kemper/Eickler-Buch Ab Seite 440 in den PDF-Folien URL:

27 27 Beispielrelation Professoren Professoren PersNrNameRangRaumFakultätGehaltSteuerkl. 2125SokratesC4226Philosophie RusselC4232Philosophie KopernikusC3310Physik PopperC352Philosophie AugustinusC3309Theologie CurieC436Physik KantC47Philosophie980001

28 28 Horizontale Fragmentierung abstrakte Darstellung: Für 2 Prädikate p 1 und p 2 ergeben sich 4 Zerlegungen: n Zerlegungsprädikate p 1,...,p n ergeben 2 n Fragmente R R1R1 R2R2 R3R3 R1 := p 1 p 2 (R) R2 := p 1 p 2 (R) R3 := p 1 p 2 (R) R4 := p 1 p 2 (R)

29 29 sinnvolle Gruppierung der Professoren nach Fakultätszugehörigkeit: 3 Zerlegungsprädikate: p 1 Fakultät = Theologie p 2 Fakultät = Physik p 3 Fakultät = Philosophie TheolProfs´ := σ p1 p2 p3 (Professoren) = σ p1 (Professoren) PhysikProfs´ := σ p1 p2 p3 (Professoren) = σ p2 (Professoren) PhiloProfs´ := σ p1 p2 p3 (Professoren) = σ p3 (Professoren) AndereProfs´:= σ p1 p2 p3 (Professoren)

30 30 Abgeleitete horizontale Fragmentierung Beispiel Vorlesungen aus dem Universitätsschema: Zerlegung in Gruppen mit gleicher SWS-Zahl 2SWSVorls := σ SWS=2 (Vorlesungen) 3SWSVorls := σ SWS=3 (Vorlesungen) 4SWSVorls := σ SWS=4 (Vorlesungen) für Anfragebearbeitung schlechte Zerlegung

31 31 select Titel, Name from Vorlesungen, Professoren where gelesenVon = PersNr; resultiert in: Titel, Name ((TheolProfs´ An 2SWSVorls) (TheolProfs´ A 3SWSVorls)... (PhiloProfs´ A 4SWSVorls) ) Join-Graph zu diesem Problem: TheolProfs´ PhysikProfs´ PhiloProfs´ 2SWSVorls 3SWSVorls 4SWSVorls

32 32 Lösung: abgeleitete Fragmentierung TheolProfs´ PhysikProfs´ PhiloProfs´ TheolVorls PhysikVorls PhiloVorls TheolVorls := Vorlesungen E gelesenVon=PersNr TheolProfs ´ PhysikVorls := Vorlesungen E gelesenVon=PersNr PhysikProfs ´ PhiloVorls := Vorlesungen E gelesenVon=PersNr PhiloProfs ´ Titel, Name ((TheolProfs´ A p TheolVorls) (PhysikProfs´ A p PhysikVorls) (PhiloProfs´ A p PhiloVorls) ) mit p (PersNr = gelesenVon)

33 33 Algebraische Äquivalenzen

34 34 Vertikale Fragmentierung abstrakte Darstellung: R1R1 R2R2 R κ

35 35 Vertikale Fragmentierung jedes Fragment enthält den Primärschlüssel der Originalrelation. Aber: Verletzung der Disjunktheit Surrogat jedem Tupel der Originalrelation wird ein eindeutiges Surrogat (= künstlich erzeugter Objektindikator) zugeordnet, welches in jedes vertikale Fragment des Tupels mit aufgenommen wird keine Rekonstruierbarkeit Beliebige vertikale Fragmentierung gewährleistet keine Rekonstruierbarkeit 2 mögliche Ansätze, um Rekonstruierbarkeit zu garantieren:

36 36 Vertikale Fragmentierung (Beispiel) für die Universitätsverwaltung sind PersNr, Name, Gehalt und Steuerklasse interessant: ProfVerw := PersNr, Name, Gehalt, Steuerklasse (Professoren) für Lehre und Forschung sind dagegen PersNr, Name, Rang, Raum und Fakultät von Bedeutung: Profs := PersNr, Name, Rang, Raum, Fakultät (Professoren) Rekonstruktion der Originalrelation Professoren: Professoren = ProfVerw A ProfVerw.PersNr = Profs.PersNr Profs

37 37 Kombinierte Fragmentierung a) a) horizontale Fragmentierung nach vertikaler Fragmentierung b) b) vertikale Fragmentierung nach horizontaler Fragmentierung R1R1 R2R2 R 21 R R 22 R 23 R R1R1 R2R2 R3R3 R 32 R 31

38 38 Rekonstruktion nach kombinierter Fragmentierung a) Fall a) R = R 1 A p (R 21 R 22 R 23 ) b) Fall b) R = R 1 R 2 (R 31 A R 31. κ = R 32. κ R 32 )

39 39 Baumdarstellung der Fragmentierungen (Beispiel) v hh ProfsProfVerw PhysikProfsTheolProfsPhiloProfs Vorlesungen PhysikVorlsTheolVorlsPhiloVorls Professoren

40 40 Allokation Dasselbe Fragment kann mehreren Stationen zugeordnet werden redundanzfreie Allokation für unser Beispiel ohne Replikationen redundanzfreie Zuordnung Station S Verw S Physik S Philo S Theol Bemerkung Verwaltungsrechner Dekanat Physik Dekanat Philosophie Dekanat Theologie zugeordnete Fragemente {ProfVerw} {PhysikVorls, PhysikProfs} {PhiloVorls, PhiloProfs} {TheolVorls, TheolProfs}

41 41 Transparenz in verteilten Datenbanken Grad der Unabhängigkeit den ein VDBMS dem Benutzer beim Zugriff auf verteilte Daten vermittelt verschiedene Stufen der Transparenz: Fragmentierungstransparenz Allokationstransparenz Lokale Schema-Transparenz

42 42 Monitoring zur Bestimmung einer guten Fragmentierungen Welche Anwendungen greifen in welcher Form (lesend/schreibend) wie häufig mit welchen Auswahl/Selektionsprädikaten auf welche Relationen und Attribute zu und welche Datenmengen müssen dabei übertragen werden

43 43 Systematische Bestimmung horizontaler Partitionen Sei R:{[A1,A2,...,An]} eine Relation Ein einfaches Prädikat ist wie folgt Einfache Prädikate sind also einfache Vergleiche der Art TeileNr=4711 Gehalt>5000 p definiert Partitionierung von R wie folgt: Vorsicht bei Nullwerten

44 44 Menge aller Minterme

45 45 Es gilt folgendes Also gilt bezüglich der Partitionierung Vollständigkeit Redundanzfreiheit Partitionierung gemäß M(P)

46 46 Beispiel Einfache Prädikate P p1: Gehalt=5000 p2: Gehalt=7000 p3: AbtNr > 400 p4: AbtNr < 300 In M(P) gibt es unerfüllbare Min-Term- Prädikate, z.B. Gehalt=5000 and Gehalt=7000 and AbtNr > 400 and AbtNr < 300 Diese werden aus M(P) entfernt

47 47 Subsumierte Prädikate Funktionale Abhängigkeit AbtNr schema(ABT) Betrachte folgende Prädikate p1: AbtNr=4711 p2: AbtName=Einkauf p3: AbtNr=5910 p4: AbtName=Verkauf Erfüllbar sind nur Minterme mit nur positiven oder nur negativen p i´ s und außerdem gilt wegen der FD:

48 48 Entferne unerfüllbare Minterme aus M(P) Wenn ein Faktor pi (oder not pi ) durch einen Faktor pj (oder not pj) impliziert wird, so entferne ihn aus dem Minterm p1 and... and pi and... and pj and pn Dadurch wird der Minterm (n-1)-stellig führe das ggfls. Mehrmals durch Was übrig bleibt sind die praktisch relevanten Minterme Menge der praktisch relevanten Minterme

49 49 Elimination irrelevanter Prädikate Beispiel p1: 100

50 50... ist gegeben wenn Rp bzw. Rp- sind die durch p bzw p- definierten Fragmente von R access(Rp): erwartete Anzahl der Zugriffe auf Rp card(Rp): Kardinalität des Fragments Rp Wesentliche Verbesserung...

51 51 Beispiel eines Prädikates mit wesentlicher Verbesserung 300 Zugriffe pro Woche auf ANGEST Davon 100 mit Prädikat p=AbtNr = 4711 dadurch werden 50 von Tupel selektiert Also ist p ein für die Partitionierung relevantes Prädikat Alle irrelevanten Prädikate sollten eliminiert werden

52 52 Fragwürdige Formel acc(...) / card(...) ??? Der Wert der obigen Formel wurde in Frage gestellt --- zu Recht! Ceri und Pelagatti definieren die Relevanz eines Prädikats pi bezogen auf eine Menge von Prädikaten P wie folgt: es gibt mindestens zwei Minterme m1 = p1*... pi... Pn* und m2 = p1*... pi-... pn* aus M(P), die sich nur in pi unterscheiden (also einmal pi und einmal ¬pi enthalten, bzw pi+ und pi-) die resultierenden Fragmente m1 (R) und m2 (R) werden von mindestens einer Anwendung unterschiedlich referenziert Es wird also nur die Zugriffsfrequenz acc einer bestimmten Anwendung zu Rate gezogen

53 53 Illustration R p1 ¬ p2 ¬ p1

54 54 Illustration R p1 ¬ p2 ¬ p1 ¬ p3 p2 p3 ¬ p2 Anw.

55 55 Resultierende Fragmentierung

56 56 Beispiel-Rechnung Drei separate Bereiche p1: Bereich =LKW p2 : Bereich = PKW p 3 : Bereich = Funk Verwaltung gemäß des Budget p 4 : Budget < p 5 : Budget >= m1: Bereich =LKW and Budget < m2: Bereich =LKW and Budget >= m3: Bereich =PKW and Budget < m4: Bereich =PKW and Budget >= m5: Bereich = Funk and Budget < m6: Bereich = Funk and Budget >=

57 57 Bestimmung einer guten abgeleiteten Partitionierung R --- S : Wenn sehr oft ein Join zwischen R und S auszuführen ist, mit einer vorangehenden Selektion auf R Partitioniere zunächst R -- gemäß den Selektionsprädikaten Danach bestimmt man die abgeleiteten Partitionen von S

58 58 Beispielsweise würde man aus einer ANGEST-Rel. die Verwaltungsdaten (Gehalt, Steuerklasse) von Archivdaten (Lebenslauf, Paßbild, etc.) abspalten Bestimmung von vertikalen Partitionen R: {[K,A1,A2,....,An]} Bestimme die Fragmente bezüglich einer guten Ballung (Clustering) R1:{[K,Ai1,Ai2,...]} R2:{[K,Aj1,Aj2,...]} Oder: kleine Partitionen R1: {[K,A1]} R2: {[K,A2]}....

59 59

60 60 Mathematisches Modell für Nicht-redundante Allokation K Anzahl Knoten P Anzahl zu allokierender Partitionen T Anzahl Typen von Lese- und Änderungs- Operationen Mi maximale Speicherkapazität am Knoten i Si Speicherkosten pro Dateneinheit am Knoten i Uij Übertragungskosten von Knoten i nach j Gp Größe in Dateneinheiten der Partition p Otp Größe einer Teiloperation vom Typ t gegen Partition p Rtp Größe des Resultats einer Teilop t gegen Part. p Hit Häufigkeit mit der Teilop t an Knoten i auszuführen ist Vpi Verteilung der Partitionen auf die Knoten Vpi=1: p ist auf Knoten i allokiert Vpi=0: sonst

61 61 Kostenformeln Speicherkosten: Übertragungskosten Nebenbedingung für nicht-redundante Speicherung: Einhaltung maximaler Speicherkapazität:

62 62 Kostenformeln für redundante Speicherung Speicherkosten Übertragungskosten Nebenbedingung für Speicherung: Einhaltung maximaler Speicherkapazität:

63 63 Optimierungsproblem Minimiere Speicher- und Übertragungskosten … … unter Einhaltung der Nebenbedingungen

64 64 Optimierungsproblem für redundante Speicherung Minimiere Speicher- und Übertragungskosten: unter Einhaltung der Nebenbedingungen

65 65 Beispiel-Konfiguration K = 3 P=4 T=3 (Si)=( ) Operation ti wird bevorzugt an Knoten Ki ausgeführt Ops t1 und t2 greifen vornehmlich auf Partitionen P1 und P2 zu; Op t3 auf P3 und P4 P1 auf K1 oder K2, P2 auf K1 oder K2, P3 auf K3, P4 auf K3 Optimal P1 auf K2, P2 auf K2, P3 auf K3, P4 auf K3

66 66 Operation ti wird bevorzugt an Knoten Ki ausgeführt Redundante Speicherung K = 3 P=4 T=3 (Si)=( ) Ops t1 und t2 greifen vornehmlich auf Partitionen P1 und P2 zu; Op t3 auf P3 und P4 Optimal P1 auf K1 und K2, P2 auf K1 und K2, P3 auf K1 und K3, P4 auf K3

67 67 Berechnung des Optimums Vollständige Suche (exhaustive search) nicht-redundante Seicherung K**P Möglichkeiten durchprobieren redundante Speicherung (2**K - 1)**P Möglichkeiten Jede der P Partition kann auf jedem der K Knoten entweder allokiert werden oder nicht, auf einem muß sie aber sein (deshalb AnzTeilmengen - 1)

68 68 Diskussion O/1 Optimierungsproblem sehr hoher Rechenaufwand Ermittlung der Parameter (Anfragehäufigkeit, Selektionsprädikate, Kostenparameter wie z.B. Netzwerkbandbreite) ist schwierig Parameter äandern sich dynamisch Einsatz von Heuristiken

69 Schema-Architekturen verteilter Datenbanksysteme Verwaltung der Fragmentierungs- und Allokationsinformation

70 70 Ziel Verstecken/Verbergen (vor dem Benutzer) von Heterogenität in den lokalen Schemata/Datenmodellen der Partitionierung der globalen Relation der Allokation der Partitionen/Relationen von redundanten Speicherung von Partitionen zur Leistungssteigerung zur Ausfallsicherheit Bereitstellung von Informationen für den Query - Optimierer und Prozessor und DBA

71 71 ANSI/SPARC Drei-Schema Architektur Internes Schema Konzeptuelles Schema Externes Schema

72 72 ANSI/SPARC Drei-Schema Architektur -- rel. DBMS Internes Schema Konzeptuelles Schema Externes Schema Views (Sichten) Relationen Referentielle Integritätsbedingungen Indexe, Cluster, DB- Extents, Seiten

73 73 Klassifikation verteilter DBMS Autonomie Heterogenität Verteilung Zentrales DBs Heterogenes Multi-DBMS Heterogenes, föderiertes vDBMS Heterogenes, eng integriertes vDBMs Homogenes, eng integriertes vDBMs Homogenes, föderiertes vDBMS Homogenes Multi-DBMS

74 74 Homogene, prä-integrierte DBMSs Von vornherein als verteilte DB ausgelegt Performance-Steigerung Ausfallsicherheit inkrementelle Erweiterbarkeit keine Altlasten = schöne heile Welt Ausgangssituation globales Schema davon abgeleitete Fragmentierung/Partionierung und Allokation

75 75 Architektur Globale externe Schemata Globales Schema Lokales konzeptuelles Schema Lokales internes Schema Lokale DB Station S1Station Sn Anwendung Lokales konzeptuelles Schema Lokales internes Schema Lokale DB

76 76 Architektur Globale externe Schemata Globales Konzeptuelles Schema (GKS) Globales Partitionierungs-Schema (GPS) Globales Allokations-Schema (GAS) Lokales konzeptuelles Schema Lokales internes Schema Lokale DB Station S1Station Sn Anwendung Lokales konzeptuelles Schema Lokales internes Schema Lokale DB 3-Schema- Architektur

77 77 Globales Konzeptuelles Schema GKS Globales Partitionierungs- Schema GPS Globales Allokations- Schema GAS Lokale Konzeptuelle Schemata LKS Transformations- Regeln

78 78 Globaler Katalog GKS Transf. GPS

79 79 Transformationen GPS Globaler Katalog GKS Globales Partitionierungs- Schema

80 80 Globales Allokations-Schema (GAS)

81 81 Trans GPS Globaler Katalog GKS Globales Partitionierungs- Schema GPS Globales Allokations- Schema GAS

82 82 Klassifikation verteilter DBMS Autonomie Heterogenität Verteilung Zentrales DBs Heterogenes Multi-DBMS Heterogenes, föderiertes vDBMS Heterogenes, eng integriertes vDBMs Homogenes, eng integriertes vDBMs Homogenes, föderiertes vDBMS Homogenes Multi-DBMS

83 83 Heterogene, prä-integrierte Systeme Selten, nur in Spezialanwendungen Beispielszenarium DBMS dient der Indexierung und Speicherung von Verwaltungsinformation aktive Nutzdaten werden im Dateisystem gespeichert Beispielanwendungen CAD System Archivierungssystem (IXOS)

84 84 Hybrid-Lösung: CAD-DB- Integration CAD-Anwendungssystem Verwaltungsdaten Meta-Daten Stücklisten Bemaßungen.... Geomteriedaten Begrenzungsflächen- modell Volumenmodell.... DatenbanksystemCAD-System Datei- System

85 85 Hybrid-Lösung: Archivierungssystem Archivierungssystem Verwaltungsdaten Objektidentifikation Version/Format Speicherort.... Gespeicherte Information (Faxe, Briefe, Rechnungen, archivierte Datenobjekte) DatenbanksystemArchivspeicher-System Juke-Box

86 86 Resumee Integration im Anwendungssystem CAD-Anwendungssystem Archivsystem Heterogenität ist auf Implementierungseben (des Anw.- Systems) voll sichtbar kein echtes verteiltes DBMS Interaktion der Komponenten ist im Anwendungssystem verdrahtet

87 87 Heutige/zukünftige Entwicklungen Spezial-Datenbanksysteme für unterschiedliche Anwendungsdomänen Geo-DBMS Image-DBMS Video-DBMS Realisierung durch Bausteine Datablades in Informix Erweiterungsmodule

88 88 Klassifikation verteilter DBMS: post-integrierte Systeme Autonomie Heterogenität Verteilung Zentrales DBs Heterogenes Multi-DBMS Heterogenes, föderiertes vDBMS Heterogenes, eng integriertes vDBMs Homogenes, eng integriertes vDBMs Homogenes, föderiertes vDBMS Homogenes Multi-DBMS

89 89 Ausgangssituation: Zwei getrennte Datenbanksysteme IS-1 KS-1 ES11ES12 Transform IS-2 KS-2 ES21ES22 Transform Externe Schemata Konzeptuelle Schemata Interne Schemata

90 90 Integrationsversuch: Gemeinsames Konz. Schema IS-1 KS-1 ES11ES12 Transform IS-2 KS-2 ES21ES22 Transform IS-2 ES21ES22 Transform IS-1 KS-neu ES11ES12 Transform

91 91 Integrationsversuch: Gemeinsames Konz. Schema In der Praxis nicht realisierbar gleichzeitige Änderung (über Nacht) aller Schemata Simulation des alten KS durch Bereitstellung der alten Sicht auf dem neuen KS IS-1 KS-1 Transform IS-2 KS-2 Transform IS-2 Transform IS-1 KS-neu Transform

92 92 Lokale Repräsentationsschemata Knoten A Lokales internes Schema Lokales konzeptuelles Schema Lokale externe Schemata Lokales Repräsen- tations-Schema Anw. Knoten B Lokales internes Schema Lokales konzeptuelles Schema Lokale externe Schemata Lokales Repräsen- tations-Schema Anw. Globales Schema Globale externe Schemata

93 93 Schema-Integration (analog zur Konsolidierungsphase im DB-Entwurf) Prä-Integrationsphase Vorgehensweise festlegen Information sichten Vergleichsphase Namens-/Struktur- und Typ-Konflikte ermitteln Vereinheitlichungsphase Festlegung des Zielschemas Restrukturierungs- und Zusammenfassungsphase lokale Repräsentationsschemata festlegen Abbildungen/transformationen realisieren

94 94 Vorgehensweise bei Integration binär vs. N-stellig S1S2S3S4 S1S2S3S4

95 95 Vergleichsphase Namens- und Typkonflikte ermitteln Homonyme und Synonyme Mutter SchraubeAngestellte/r Mutter Passt_auf KundeKlient bestellthat ProduktKredit

96 96 Konflikte auf... Strukturebene (Typebene) Typinkampatibilität numerisch alphanumerisch Beziehungskonflikt (1:1 vs. N:M) Schlüsselkonflikt Verhaltenskonflikt (on delete cascade in nur einem Schema) Instanzebene Mehrfachspeicherung mit unterschiedlichen Primärschlüsseln Kunden und Lieferanten Verwendung desselben Schlüsselwerts für unterschiedliche Entities funktionaler Ebene: unterschiedliche DB-Operatoren

97 97 Beispiel eines Schlüssel- Konflikts

98 98 Konfliktresolution 1: Globale Schlüssel-Zuordnungstabelle

99 99 Konfliktresolution 2: Globale Schlüssel-Zuordnungstabelle

100 100 Änderungen auf post- integrierten Datenbanken... Bei disjunkten lokalen DBs dom (PK_L1) dom(PK_L2) = Ø jedem globalen Entity ist eineindeutig ein lokales Entity zugeordnet deshalb sind Updates prinzipiell möglich, d.h. propagierbar L1 L2

101 101 Änderungen auf post- integrierten Datenbanken... Bei überlappenden lokalen DBs dom (PK_L1) dom(PK_L2) Ø jedem globalen Entity können mehrere lokale Entities zugeordnet sein Problem: Einfügen neuer Entities. WO? Überall, Primärknoten,... L1L2

102 102 Änderungen auf post- integrierten Datenbanken... Bei vollständig überlappenden lokalen DBs dom (PK_L1) dom(PK_L2) Problemstellung wie bei partiell überlappenden lokalen DBs L1 L2

103 103 Homogene, post-integrierte DBs Behandlung struktureller Heterogenität in einfachen Fällen durch Transformationsregeln in SQL/Relationenalgebra integrierbar Integration von Relationen unterschiedlicher Stelligkeit (~Breite) Null-Werte Problem: Einfügeoperation auf gloaler Rel. Dummy-Attributwerte einsetzen Problem unterschiedlicher Wertebereiche numerisch vs. Alphanumerisch Kunde007 vs 007

104 104 Illustration der Schema- Homogenisierung ABCD AEABD ACBF Dummy Attribute (lokal nicht vorhanden)

105 105 Informationsintegration in Multi-DBMS Autonomie Heterogenität Verteilung Zentrales DBs Heterogenes Multi-DBMS Heterogenes, föderiertes vDBMS Heterogenes, eng integriertes vDBMs Homogenes, eng integriertes vDBMs Homogenes, föderiertes vDBMS Homogenes Multi-DBMS

106 106 Problemstellung der Schemaintegration Keine Einflußnahme auf die jeweiligen Systeme möglich (also kein exportiertes Repräasentationsschema) Lokale Systeme sträuben sich möglicherweise sogar gegen die Integration Beispiel: Comparison Shopping Cadabra.com BottomDollar.com mySimon.com Junglee (wurde von Amazon gekauft [=eliminiert])

107 107 Wrapper und Mediator Informations- quelle (im Internet) Informations- quelle (im Internet) Wrapper Mediator Anfrage Middleware-System

108 108 Beispiel-Systeme/Projekte Tsimmis Stanford University Garlic IBM Information Manifold AT&T ObjectGlobe Univ. Passau dezentrale Architektur IDB University of Wisconsin, Madison

109 109 Formale Grundlagen für Schemaintegration: Datalog Database und Prolog Logikprogrammiersprache bzw. logikbasierte Datenbank-Anfragesprache Ähnlichkeit zu Query by Example Basisrelationen = Fakten extensionale Datenbank Regeln definieren Sichten/Views intensionale Datenbank

110 110

111 111 Kurzeinführung zu Datalog Aus dem Kemper/Eickler-Buch Kapitel 14 PDF-Folien ab S db.in.tum.de/research/publications/books/DBMSeinf db.in.tum.de/research/publications/books/DBMSeinf..\EIS\Deduktive.ppt

112 112 Schema-Integration in Information Manifold Globale Prädikate emp(E) phone(E,P) office(E,O) mgr(E,M) dept(E,D) Drei Datenquellen v1(E,P,M) :- emp(E) & phone(E,P) & mgr(E,M). v2(E,O,D) :- emp(E) & office(E,O) & dept(E,D). v3(E,P) :- emp(E) & phone(E,P) & dept(E,toy). Anfrage: query(P,O) :- phone(sally,P) & office(sally,O).

113 113 Schema-Integration in Information Manifold Drei Datenquellen v1(E,P,M) :- emp(E) & phone(E,P) & mgr(E,M). v2(E,O,D) :- emp(E) & office(E,O) & dept(E,D). v3(E,P) :- emp(E) & phone(E,P) & dept(E,toy).

114 114 Anfrageauswertung in IM query( ) :- p_i1( ) & & p_in( ). query( ) :- v_j1( ) & & v_jr( ). Expansion von v_j1 Expansion von v_jr query( ) :- p_j1_1( ) &... &p_j1_k1( ) &..... & p_jr_1( ) &.... &p_jr_kr( ). Lösung (basierend auf externen Sichten v_i( )

115 115 Auswertung der Beispielanfrage query(P,O) :- phone(sally,P) & office(sally,O). Zwei Lösungen: query(P,O):-v1(sally,P,M) & v2(sally,O,D). query(P,O):-v3(sally,P) & v2(sally,O,D). Expansionen: query(P,O):-emp(sally) & phone(sally,P) & mgr(sally,M) & emp(sally) & office(sally,O) & dept(sally,D). query(P,O):-emp(sally) & phone(sally,P) & dept(sally,toy) & emp(sally) & office(sally,O) & dept(sally,D).

116 116 Mediatoren in Tsimmis Drei Datenquellen v1(E,P,M) :- emp(E) & phone(E,P) & mgr(E,M). v2(E,O,D) :- emp(E) & office(E,O) & dept(E,D). v3(E,P) :- emp(E) & phone(E,P) & dept(E,toy). Mediatoren: epo(E,P,O) :- v1(E,P,M) & v2(E,O,D). epo(E,P,O) :- v3(E,P) & v2(E,O,D). edm(E,D,M) :- v1(E,P,M) & v2(E,O,D). Anfragen gegen die Mediatoren: query(P,O) :- epo(sally,P,O).

117 117 Anfrageauswertung in Tsimmis Mediatoren: epo(E,P,O) :- v1(E,P,M) & v2(E,O,D). epo(E,P,O) :- v3(E,P) & v2(E,O,D). edm(E,D,M) :- v1(E,P,M) & v2(E,O,D). Anfragen gegen die Mediatoren: query(P,O) :- epo(sally,P,O). Expansion der Mediator-Definitionen: query(P,O) :- v1(sally,P,M) & v2(sally,O,D). query(P,O) :- v3(sally,P) & v2(sally,O,D).

118 118 Vergleich der beiden Ansätze: Integration neuer Datenquellen Information Manifold Wrapper schreiben Wrapper mittels externer Prädikate definieren Ab dann werden neue Quellen automatisch mit berücksichtigt Local as view- Prinzip Tsimmis Wrapper schreiben Mediatoren von Hand anpassen, damit die neuen Datenquellen mit berücksichtigt werden Global-as-view Prinzip

119 119 Anfragebearbeitung in Multi- DBMS-Systemen Später mehr … erst beschäftigen wir uns mit der Anfragebearbeitung in homogenen, prä- integrierten DBMS

120 120 IDB: Towards the Scalable Integration of Queryable Internet Data Sources Namespaces zur Beschreibung von Datenobjekten Namespace book# vendor category title url author year price isbn publisher book(vendor,category,title,url,author,...)

121 121 Wrapper exportieren Attribute aus Namespaces Beispiel: Amazon-Wrapper select `Amazon` as book#vendor, book#title+,book#url, book#author, book#year, book#price+,... from where

122 122 Anfragen werden in Datalog transformiert select B.vendor, B.title, B.author, B.price, R.review from book B, review R where B.title ~= `Datenbanksysteme` and B.title = R.title query fbfff (vendor,title,author,price,review) :- book fbff (vendor,title,author,price) & review bf (title,review) & title~=`Datenbanksysteme`

123 123 Datenquellen und Bindungen Bücher amazon fbbff (vendor,title,author,year,price) borders fbff (vendor,title,author,price) buch.de fbff (vendor,title,price,isbn) bol fb (author,isbn) Reviews nytimes bff (title,author,review) wpost bbf (title,isbn,review)

124 124 Anfragebearbeitung Es werden die Datenquellen herangezogen, die alle in der Anfrage referenzierten Attribute liefern und mit den Bindungen der Anfrage verträglich sind

125 125 Berücksichtigung der Bindungen in der Anfrageoptimierung Select b.Title, b.Author, b.ISBN, b.Price From Books as b, Bestseller as bs where bs.Author = b. Author Books buecher.de ffbf (vendor,title,author,price) Bestseller spiegel.de fff (title,author,verlag) buecher.despiegel.de Bind Join Wrapper Bestseller Wrapper Books


Herunterladen ppt "Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken."

Ähnliche Präsentationen


Google-Anzeigen