Verteilte Datenbank- und Informationssysteme

Werbung
Verteilte Datenbank- und
Informationssysteme
Vorlesung im Wintersemester 2013
(Abschnitt Besonderheiten verteilter Datenbanksysteme)
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
1
Inhalt des Parts
§ Grundprinzipien
§ Regeln für verteilte DBS
§ Architektur verteilter Datenbanken
§ Verteilte Transaktionen – 2PC
§ Verteilungsoptionen bei Oracle
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
2
Übersicht und Einführung
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
3
Verteilte Verarbeitung I
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
4
Verteilte Verarbeitung II
§ Applikation bzw. Nutzer koordiniert den Verbindungsaufbau zur DB
§ Die Standorte der Datenbank-Server im Netz müssen
bekannt sein
§ Zwischen den DB bestehen keine von der Anwendung
unabhängige Beziehungen
§ Es können keine DB-übergreifenden SQL-Anweisungen
ausgeführt werden
§ Eine DB-übergreifende Transaktionssicherung wird
durch das DBMS nicht gewährleistet
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
5
Grundprinzip verteilte Datenbank
Grundprinzip verteilter Datenbanken ist die
Verteilungstransparenz. Ein verteiltes DBS
muss sich dem Anwender gegenüber
genauso verhalten wie ein nicht verteiltes.
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
6
Definition verteilte Datenbank
Eine verteilte Datenbank ist ein logisch zusammengehörender Datenbestand – beschrieben in einem
globalen Schema -, der physisch auf mehreren Knoten
(Rechner) verteilt ist und mit einem verteilten
Datenbankmanagementsystem (kurz VDBMS) oder
auch distributed DBMS (kurz DDBMS) verwaltet wird.
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
7
Grobstruktur eines VDBMS
Rechnerknoten A
Rechnerknoten B
Nur eine Sicht
auf die Daten
Internet, Intranet,
Extranet
Rechnerknoten E
Rechnerknoten C
WiSe 2013
Verteilte DBS
Rechnerknoten D
Prof. Dr. Andreas Schmietendorf
8
Verteilte Datenbank
Ausgangspunkt: relationales Modell
§ Spezifikation der Datenobjekte des Bezugsbereichs im
Rahmen eines relationalen Modells
§ Das DBMS bietet die Möglichkeit mehrere räumlich im
Netz verteilte DB zu einer Sicht zusammenzufassen
Vorteile/Ziele
§ Nutzer/Anwendung muss nichts von der Verteilung der
DB im Netz wissen (Ortstransparenz)
§ Möglichkeit der Ausführung DB-übergreifender SQLAbfragen und Transaktionen
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
9
Anforderungen an
verteilte Datenbanken
Brainstoming
Siehe auch: http://dbs.uni-leipzig.de/buecher/mrdbs/index.html
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
10
Zwölf Regeln für verteilte DBS I
§ Lokale Autonomie
- Jeder Rechner sollte maximale Kontrolle über eigene Daten
haben
- Zugriff auf diese Daten sollte nicht von anderen Rechnern
abhängen
§ Keine Abhängigkeit von zentralen Systemfunktionen
- DB-Verarbeitung sollte nicht von zentralen Systemfunktionen
abhängen
- Gefahr potentieller Leistungsengpässe durch zentrale
Systemkomponenten
Quelle: Date, C. J.: in Rahm, E.: Mehrrechner-Datenbanksysteme, Addison-Wesley, 1994
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
11
Zwölf Regeln für verteilte DBS II
§ Hohe Verfügbarkeit
- Unanfälligkeit gegen ggf. auftretende Fehler wie z.B. dem
Ausfall eines Rechnerknotens
- Möglichkeiten einer Konfigurationsänderung während des
laufenden Betriebs (z.B. neue SW oder HW)
§ Ortstransparenz
- Verbergen der physischen Lokation von Datenbankobjekten
gegenüber dem Benutzer
- Der Datenzugriff auf entfernte Daten sollte in gleicher Weise
erfolgen, wie der auf lokale Objekte
Quelle: Date, C. J.: in Rahm, E.: Mehrrechner-Datenbanksysteme, Addison-Wesley, 1994
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
12
Zwölf Regeln für verteilte DBS III
§ Fragmentierungstransparenz
- Eine Relation der DB sollte verteilt an mehreren Knoten
gespeichert werden können
- Die zugrunde liegende Zerlegung der Relation sollte für den
Datenbankbenutzer transparent sein
§ Replikationstransparenz
- Die replizierte Speicherung von Teilen der Datenbank sollte für
den Benutzer unsichtbar bleiben
- Die Wartung der Redundanz obliegt ausschließlich der
Datenbanksoftware
Quelle: Date, C. J.: in Rahm, E.: Mehrrechner-Datenbanksysteme, Addison-Wesley, 1994
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
13
Zwölf Regeln für verteilte DBS IV
§ Verteilte Anfragebearbeitung
- Innerhalb einer DB-Operation sollte auf Daten mehrerer Rechner
zugegriffen werden können
- Zur effizienten Bearbeitung von DB-Anfragen sind durch das
VDBMS geeignete Techniken bereitzustellen (Query Optimizer)
§ Verteilte Transaktionsverarbeitung (TA-Transparenz)
- ACID-Eigenschaften sind auch bei verteilter Bearbeitung
einzuhalten
- Bereitstellung entsprechender Recovery- und Synchronisationstechniken (verteiltes 2 Phasen Sperrprotokoll)
Quelle: Date, C. J.: in Rahm, E.: Mehrrechner-Datenbanksysteme, Addison-Wesley, 1994
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
14
Zwölf Regeln für verteilte DBS V
§ Hardware-Unabhängigkeit
- Die Datenbank-Verarbeitung sollte auf unterschiedlichen
Hardwareplattformen möglich sein
- Sämtliche Hardwareeigenschaften sollten gegenüber dem
Datenbankbenutzer verborgen bleiben
§ Betriebssystemunabhängigkeit
- Die Datenbankbenutzung sollte unabhängig von den
eingesetzten Betriebssystemen sein
- Verteilte Datenbankmanagementsysteme sollten
unterschiedliche Betriebssystemplattformen unterstützen
Quelle: Date, C. J.: in Rahm, E.: Mehrrechner-Datenbanksysteme, Addison-Wesley, 1994
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
15
Zwölf Regeln für verteilte DBS VI
§ Netzwerkunabhängigkeit
- Verwendete Netzwerke und darauf aufsetzende
Kommunikationsprotokolle sollten ohne Einfluss auf die
Datenbankverarbeitung leiben.
§ Datenbanksystemunabhängigkeit
- Es sollte möglich sein, unterschiedliche (Heterogene)
Datenbanksysteme an den verschiedenen Rechnern
einzusetzen, solange sie eine einheitliche Benutzerschnittstelle
(z.B. gemeinsame SQL-Version) anbieten.
Quelle: Date, C. J.: in Rahm, E.: Mehrrechner-Datenbanksysteme, Addison-Wesley, 1994
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
16
Transaktionstransparenz
§
Bei einer verteilten Transaktion wird auf Datenelemente unterschiedlicher
DB, welche auf verschiedenen Rechnerknoten verteilt sind, zugegriffen.
§
ACID-Bedingungen sind im Rahmen eines VDBMS in gleicher Weise
einzuhalten wie in einem zentralen DBMS
§
Der Entwickler einer Anwendung sollte eine verteilte TA in gleicher Weise
nutzen wie eine lokale TA
§
Auch implizite TA (ausgelöst durch Trigger) sollten von der
Transaktionstransparenz profitieren
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
17
Leistungstransparenz
§ Verteilung von Datenbankobjekten zwecks Erhöhung des Leistungsund Ausfallverhaltens im Gesamtsystem
- Verteilte Verarbeitung von Anfragen und Transaktionen soll trotz des
Kommunikations-Overheads mit der gleichen Performance erfolgen wie
ohne Verteilung
- Im Falle replizierter Datenobjekte (kontrollierte Redundanz) sollten
Leistungsengpässe eines Knoten durch Knoten mit weniger Last
aufgefangen werden können. (Load-Balancing)
- Bei paralleler Bearbeitung eingehender Anfragen wird eine
Verbesserung der Bearbeitungszeiten angestrebt
In Anlehnung an - Rahm, E.: Mehrrechner-Datenbanksysteme, Addison-Wesley, 1994
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
18
Architektur verteilter
Datenbanken
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
19
4-Ebenen Architektur für verteilte
Datenbanksysteme
In Anlehnung an : Conrad, S.: Förderierte Datenbanksysteme, Springer-Verlag, 1997
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
20
Externes Schemata im VDBMS
§ Repräsentieren Sichten der Benutzer und Anwenderprogramme
(vergleichbar zum zentralen Datenbanksystem)
§ Für Benutzer bzw. Benutzergruppen werden jeweils eigene externe
Schemata angelegt
§ Das externe Schemata ist in Art und Funktion für verteilte und
zentrale Datenbanksysteme nicht unterscheidbar
§ Für den Benutzer sollte es keinen Unterschied machen, ob er mit
einer zentralen oder verteilten Datenbank arbeitet.
§ In der Praxis kann es ggf. dennoch zu kleinen Unterschieden
kommen (insbesondere bei heterogenen DBMS)
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
21
Globales konzeptionelles
Schema im VDBMS
§ Beschreibung der durch das DBS zu verwaltenden Daten in ihrer
Gesamtheit
§ Abstrakte Beschreibung ohne Berücksichtigung konkreter
Implementierungsdetails
§ Ziel beim konzeptionellen Schema im VDBMS ist die Integration der
verschiedenen externen Benutzersichten
§ Im verteilten Datenbanksystemen ist das konzeptionelle Schema
gleichzeitig die Zusammenfassung aller lokalen konzeptionellen
Schemata (Vereinigung)
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
22
Lokale konzeptionelle
Schemata im VDBMS
§ Die lokalen konzeptionellen Schemata ergeben sich aus der Definition
der Datenverteilung, die im globalen Verteilungsschema festgelegt
sind. (Ausschnitt aus dem globalen konzeptionellen Schema)
§ Enthalten sind folgende Angaben:
- Informationen zur auf dem Knoten hinterlegten Fragementen
- Allokation und Replikation von Relationsfragmenten
§ Bei fehlender Replikation sind die lokalen konzeptionellen Schemata
echte Teilmengen der globalen konzeptionellen Schemata.
§ Die ggf. notwendige Propagierung von Änderungen des lokalen
konzeptionellen Schema ist abhängig von der gewählten
Katalogarchitektur.
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
23
Lokale interne Schemata
im VDBMS
§ Hier gibt es keine Unterschiede zu den internen Schemata einer
zentralen Datenbank.
§ Im Sinne der Knotenautonomie sind Zugriffspfade und
Speicherstrukturen auf lokale Erfordernisse abzustimmen.
§ Das interne Schema ist abhängig vom verwendeten Basissystem
und von der unterstützten Sprachschnittstelle.
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
24
Entwurf verteilter
Datenbanken
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
25
Entwurf von VDBMS
Quelle: Heuer, A. et al:
Datenbanken kompakt,
mitp-Verlag, Bonn 2003
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
26
Entwurf von VDBMS
§ Fragmentierungsschema
- Logisch zusammengehörige Informationsmengen in
(weitgehend) disjunkte Fragmente zerlegen
- Zerlegung erfolgt auf Basis des Zugriffsverhaltens
aus den Anwendungen heraus
- Daten mit ähnlichen Zugriffsmuster in einem
Fragment zusammenfassen
§ Zuordnungsschema (Allokation)
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
27
Fragmentierung I
§ Einfachster Fall im relationalen DBS
- Ganze Relationen als kleinste Verteilungsgranulate
- Vorteile:
• keine explizite Fragmentierung
• Vereinfachung des Allokationsproblems
• Geringe Kommunikationskosten bei Oper. auf eine Relation
• Einfache Gewährleistung von Integritätsbedingungen
§ Massive Nachteile hinsichtlich Lastverteilung, Nutzung
von Lokalität, Parallelverarbeitung und Verarbeitungsumfang
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
28
Arten der Fragmentierung
§ Horizontale Fragmentierung
- Logisch zusammengehörige Informationsmengen in
(weitgehend) disjunkte Tupelmengen zerlegen
§ Vertikale Fragmentierung
- Zusammenfassen von Attributen mit gleichen Zugriffsmustern
- Vertikale Zerlegung der Relation durch Ausführung von
Projektionen
§ Kombinierte Fragmentierung
- Anwendung der horizontalen und vertikalen Fragmentierung auf
die selbe Relation
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
29
Arten der Fragmentierung
§ Horizontale
Fragmentierung
§ Vertikale
Fragmentierung
DB 1
WiSe 2013
Verteilte DBS
DB 2
Prof. Dr. Andreas Schmietendorf
DB 3
30
§ Zuerst vertikale, dann
horizontale
Fragmentierung
Fragm.
3
Fragm.
2
Fragm.
3
§ Zuerst horizontale,
dann vertikale
Fragmentierung
Fragm.
2
Arten der Fragmentierung
Fragm. 2
DB 2
Fragm. 3
DB 3
DB 1
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
31
Regeln für die Fragmentierung
§ Vollständigkeit
- Jedes Datenelement (Tupel, Attributswert) der globalen Relation muss
in wenigstens einem Fragment enthalten sein.
§ Rekonstruierbarkeit
- Zerlegung muss verlustfrei sein
- Globale Relation muss aus den Fragmenten vollständig rekonstruiert
werden können
§ Disjunktheit
- Fragmente sollten möglichst disjunkt sein
- Bei vertikaler Fragmentierung kann die Disjunktheit aufgrund der
Rekonstruierbarkeit nicht vollständig gewährleistet werden
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
32
Beispiel für Fragmentierung I
§ Ausgangsbasis:
- abstrakte Relation R mit Tupeln r1, …, r7
- Anwendungen A1, A2, A3
§ Anwendung A1 greift auf r1, r2, r3 zu
§ Anwendung A2 greift auf r4, r5, r6, r7 zu
§ Anwendung A3 greift auf r4, r5
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
33
Beispiel für Fragmentierung II
Horizontale Fragmentierung von Relationen in
disjunkte Tupelmengen
Resultierende Fragmente:
§ R1 = {r1, r2, r3} wegen Anwendung A1
§ R2 = {r6, r7} wegen Anwendung A2
§ R3 = {r4, r5} wegen Anwendung A2 und A3
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
34
Beispiel für Fragmentierung III
KNR
K2
K4
K3
K1
K5
NAME
Maier
Müller
Schmidt
Weber
Walter
GEBDAT
04.02.1963
08.02.1973
14.04.1967
27.02.1993
02.12.1943
V
KNR
K2
K4
K3
K1
K5
NAME
Maier
Müller
Schmidt
Weber
Walter
Globale Relation
KUNDE
V
NL
B
FL
FL
B
DD
KNR
K2
K4
K3
K1
K5
GEBDAT
04.02.1963
08.02.1973
14.04.1967
27.02.1993
02.12.1943
KUNDE2 =
πKNR, GEBDAT (KUNDE)
H
KUNDE1 =
πKNR, NAME, NL (KUNDE)
KNR
K5
H
H
KNR
K2
K1
KNR
K4
K3
WiSe 2013
Verteilte DBS
NL
B
FL
FL
B
DD
NAME
Müller
Schmidt
NAME
Walter
NAME
Maier
Weber
NL
FL
FL
NL
DD
NL
B
B
KUNDE11 =
σNL=’DD’ (KUNDE1)
KUNDE12 =
σNL=’B’ (KUNDE1)
KUNDE13 =
σNL=’FL’ (KUNDE1)
Prof. Dr. Andreas Schmietendorf
35
Arten von Allokationen
§ Redundanzfreie Allokation
- Jedes Fragment ist genau einer Station zugeordnet
- N:1 Zuordnung zu von Fragmenten zu Stationen
§ Allokation mit Replikation
- Fragmente sind zum Teil repliziert und mehreren
Stationen zugeordnet
- N:M Zuordnung von Fragmenten zu Stationen
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
36
Fragmentierung und Allokation
Quelle:
Fragmentierung und Allokation
nach Ceri und Pelagati,
aus Kemper, A.;Eickler, A.:
Datenbanksysteme, Oldenbourg-Verlag
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
37
Transparenz im VDBS
”Unter Transparenz versteht man den Grad an der
Unabhängigkeit, den ein VDBMS den Benutzern beim
Zugriff auf verteilte Daten vermittelt“
Quelle: Kemper A. / Eickler A. (2004), Datenbanksysteme, 5. Aufl.,
München 2004
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
38
Transparenz im VDBS
§ Fragmentierungstransparenz
- Single-System-Image
- Nutzer kennt potentielle Fragmente und Allokationen nicht
§ Allokationstransparenz
- Nutzer muss den Ort der Speicherung nicht kennen
- Nutzer muss aber die ggf. vorhanden Fragmente kennen
§ Lokale Schema-Transparenz
- Gleiche Datenbank-Schemata
- Kenntnisse zur Fragmentierung, Allokation und Replikation
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
39
Transaktionen in verteilten
Datenbanken
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
40
Struktur verteilter Transaktionen
§ Transaktion als Folge von DB-Operationen
- BOT – begin of transaction
- EOT – end of transaction
- Abbruch laufender Transaktionen durch rollback-Anweisung
§ Transaktionen bei verteilten DBS
- Beteiligung von einem oder mehreren Rechnerknoten
- Erhöhte Fehlermöglichkeiten
• Verbindungsausfall
• Nachrichtenverlust
• Ausfall von Rechnerknoten
§ Transaktionstransparenz
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
41
Komponenten bei
verteilten Transaktionen
§ Heimat- bzw. Koordinator-Knoten (Start der TA – BOT)
§ Ressourcen-Manager
- Zugriffe auf DBS oder Dateisysteme
- Synchronisation & Logging
§ Transaction Manager
- Verwaltung und Koordination
- Commit-Behandlung
§ Bedarf an Transaktionskennungen
§ Transaktionsbaum
- Primärtransaktion (am Heimatknoten ausgeführte Teiltransaktion)
- Subtransaktion (Teiltransaktion im Rahmen einer globalen Transaktion)
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
42
Commit-Behandlungen
TM2
Lineare Commit-Struktur
TM1
TMi
TMn
Zentralisierte Commit-Struktur
Hierarchische Commit-Struktur
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
43
Zwei Phasen Sperrprotokoll
(2PC-Protokoll)
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
44
2PC – Prepare (TA Vorbereitung)
Alle an der Transaktion beteiligten Server werden über
den Status ihrer Teiltransaktion befragt. Ist eine
Teiltransaktion „im Prinzip fertig“, wird sie in den
Prepared-Zustand versetzt. Dieser Zustand ist ein
permanenter Zustand, der nur durch das 2PC-Protokoll
mit commit oder rollback beendet werden kann. Eine
solche Transaktion überlebt auch ein Instanz-Recovery.
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
45
2PC – Commit (TA Abschluss)
Die Commit-Phase kann nur eingeleitet werden, wenn
alle beteiligten Teiltransaktionen den Übergang in den
Prepared-Zustand gemeldet haben. Kann nur eine
beteiligte Transaktion diesen Zustand nicht melden, wird
die gesamte verteilte Transaktion, d.h. alle
Teiltransaktionen, zurückgerollt. Im anderen Fall wird
das Commit für die globale Transaktion durchgeführt.
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
46
Potentielle Problembereiche des
2PC – Commit Protokolls
§ Basisprotokoll erfordert pro Agent 4 Nachrichten
à bei N Knoten 4*(N-1)
§ Jeweils zwei synchrone Schreibvorgänge (außer Ende-Satz) in die
Log-Datei für den Koordinator und jeden Agenten
à synchrone Verarbeitung impliziert ggf. Wartezeiten
§ Hohe Abhängigkeit der Agenten vom Koordinator (Problem:
Koordinatorausfall)
à Performanceprobleme
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
47
Verteilte Datenbanken mit Oracle
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
48
Grundlegende Verteiltungsoptionen
§ Replikationsmechanismen
- MV Replication mit Snapshots und Triggern
- Stream Replication – asynchrone Verarbeitung
§ Oracle Streams Advanced Queuing
- Oracle-Oracle-Nachrichtenkommunikation
- Oracle à JMS-Kommunikation
- Oracle à MQ Series
§ Datenbank-Links
§ Verteilte Transaktionen
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
49
Verteilte DB mit Oracle
§ Oracle Netzwerkunterstützung
- Netzwerktransparenz
- Protokoll-Transparenz
- Topologie-Transaprenz
- Optimierung genutzter Netzwerkverbindungen
§ Oracle RDBMS
- Verteilungstransparenz (bezüglich der Datenquellen)
- Transaktionstransparenz
- Recovery-Transparenz
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
50
Verteilte DB mit Oracle
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
51
Verteilte DB mit Oracle
SQL* Net
§ Programmierinterface für alle Oracle-Anwendungen
§ Aufgabenstellungen:
- Verbindungsauf- und Verbindungsabbau
- Benachrichtigungsdienst bei Problemen (z.B. Verbindungsausfall)
Oracle* TNS
§ Kern des Oracle Netzwerkes
-
Auflösung von Zieladressen (Rechnernamen und DB-Instanz)
Genutzte Netzwerkrouten (Oracle* Navigator)
Ggf. benötigte Konvertierungen
Fehlerbehandlung
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
52
Verteilte DB mit Oracle
Weitere Komponenten
§ Oracle* MPI (MultiProtokoll Interchange)
- Einsatz in heterogenen Netzwerkumgebungen
- Kommunikation zwischen verschiedenen Anwendungen
- Verbindung unterschiedlicher Netzwerksysteme
• Internet TCP/IP,
• IBM Mainframe LU6.2
• DECNet
- Finden der kostengünstigsten Verbindung (via Oracle* Navigator)
§ Oracles Gateway-Strategie zur sanften Migration
- Zugriff auf „non“ Oracle Datenbanken (z.B. IBM DB2)
- Zugriff von Datenbanken anderer Hersteller auf Oracle
- Datenreplikation in heterogenen Datenbanken
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
53
Oracle Gateway - Zugriffsformen
Anwendungen greifen auf Fremd-DBS quasi wie auf eine Oracle-DB zu
Beim Gateway-Einsatz sind drei Zugriffsformen zu unterscheiden:
§ Oracle-Tools können i.a. direkt über ein SQL*CONNECT-Gateway
auf SQL-DBS anderer Hersteller zugreifen, also ohne Involvierung
eines Oracle-DBS. SQL*CONNECT erzeugt dabei dyn. SQLAnweisungen für das Fremd-DBS.
§ Ein indirekter Zugriff liegt vor, wenn ein Oracle-Werkzeug mit einem
Oracle-DBS zusammenarbeitet, von dem aus über DB-Links auf
externe DB zugegriffen wird.
- Ausführung von lesenden Zugriffen auf die Fremd-Datenbank
- Zugriff auch auf nicht-relationale DBS oder Dateisysteme möglich
§ Direkter Zugriff auf mehrere Datenbanken ist möglich über
Anwendungsprogramme mit eingebettetem SQL-Anweisungen.
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
54
Oracle – Datenbank-Link
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
55
Verteilte DB mit Oracle
§ Ein konfigurierter Datenbank-Link bietet den Zugriff auf alle SchemaObjekte des entfernten DB-Servers
- Tabellen
- Views
- Stored Procedures (gespeicherte Prozeduren)
§ Gültigkeit eines Datenbank Links
- Public: ohne Einschränkungen verfügbarer DB-Link
- Private: DB-Link mit eingeschränkten Benutzerkreis
§ Shared Database Links (Reduktion benötigter Service Connections)
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
56
Verteilte DB mit Oracle
Oracle Datenbank-Links
§ Einrichtung von Datenbank-Links durch den DBA
§ Datenbank Links zwischen einer lokalen Datenbank in Berlin und
Datenbanken in Berlin und Magdburg
CREATE PUBLIC DATABASE LINK BERLIN
CONNECT TO B_UNIX;
CREATE PUBLIC DATABASE LINK MAGDEBURG
CONNECT TO MD_VMS;
§ Vorraussetzung: Eingetragene Nutzer bei den Datenbanken in Berlin
(B_UNIX) bzw. Magdburg (MD_VMS).
Quelle: Burleson, D. K.: Oracle Datenbank Anwendung, Thomson Publ., 1997
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
57
Verteilte DB mit Oracle
Aufruf zur Erstellung eines DatenbankLinks unter dem DBMS Oracle
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
58
Verteilte DB mit Oracle
Oracle Enterprise Manager
§
Interaktive Erstellung
der Datenbank-Links
§
Bezeichnung des
Datenbank-Link
§
Form der Anmeldung
auf dem entfernten
Datenbanksystem
§
Dienstname der
entfernten Datenbank
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
59
Verteilte DB mit Oracle
Verwendung des Datenbank-Links 1
SELECT A.NAME, B.QUANTITY_ORDERED
FROM CUSTOMER@BERLIN A,
ORDERLINE@MAGDEBURG B
Quelle: Burleson, D. K.: Oracle Datenbank Anwendung, Thomson Publ., 1997
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
60
Verteilte DB mit Oracle
Verwendung des Datenbank-Links 2
SELECT CUSTOMER.NAME, ORDER.ORDER_DATE,
ORDERLINE.QUANTITY_ORDERED
FROM CUSTOMER@BERLIN, ORDER,
ORDERLINE@MAGDEBURG
WHERE
CUSTOMER.CUST_NUMBER = ORDER.CUSTOMER_NUMBER
AND
ORDER.ORDER_NUMBER = ORDERLINE.ORDER_NUMBER;
Quelle: Burleson, D. K.: Oracle Datenbank Anwendung, Thomson Publ., 1997
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
61
Verteilte DB mit Oracle
Transparenz durch Einsatz von Views I:
§ Definition einer View
CREATE VIEW TABELLE AS
SELECT * FROM TAB@BERLIN;
§ SQL-Abfragen ohne Kenntnis des Datenbank-Links
UPDATE TABELLE
SET PREIS = PREIS * 1,96
WHERE WAEHRUNG = DM;
§ Einschränkung der Zugangsrechte über selektive Vergabe von
Rechten für die Nutzer B_UNIX bzw. MD_VMS
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
62
Verteilte DB mit Oracle
Transparenz durch Einsatz von Views II (Interaktionen):
§ Auflösen der View Definition für TABELLE über das DD
§ Identifizierung eines DB-Links hinter der View-Definition
§ Auflösen des DB-Link-Namen und der TNS-Adresse beim Zielrechner
§ Verbindungsaufbau zur Remote-Datenbank
§ SQL-Befehl an die Zieldatenbank senden
§ Ziel-Datenbank führt den SQL-Befehl aus
§ Ergebnis-Rückgabe an den lokalen DB-Server
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
63
Verteilte DB mit Oracle
Security-Aspekte:
„Über Datenbank-Links (DB-Links) besteht die Möglichkeit, von einer
Datenbank innerhalb eines DBMS aus auf die Daten einer anderen
Datenbank, gegebenenfalls in einem anderen DBMS, zuzugreifen.
Um einen angemessenen Schutz der Daten zu gewährleisten, sollte
diese Technik nur im Rahmen eines entsprechenden
Berechtigungskonzepts angewendet werden. In diesem Konzept
muss unter anderem die Kontrolle der Berechtigungen eines
Benutzers bei der Verwendung von DB-Links geregelt werden.“
Quelle: M 4.71 Restriktive Handhabung von Datenbank-Links Bundesamt für Sicherheit in der
Informationstechnik
WiSe 2013
Verteilte DBS
Prof. Dr. Andreas Schmietendorf
64
Herunterladen