Title: Replikation in verteilten Datenbanken
1Replikation in verteilten Datenbanken
- Gliederung
- Einführung
- Grundlagen und Verfahren
- Realisierte Technologien am Beispiel von Sybase
- Jürgen Bittner
- SQL GmbH Dresden
- juergen.bittner_at_sql-gmbh.de
2 Begriff Replikation
- ist eine Funktionalität in
- Integrierten Shared-Nothing-Mehrrechner-
Datenbanksystemen,wie z.B. Workstation/Server-DBS
und allen DBS mit multipler Allokation von
Fragmenten - Föderativen Mehrrechner-Datenbanksystemen
(homogene und heterogene) - zum
- Synchronisieren der Daten, d.h. zum
(konsistenten) Verwalten von Datenkopien - Verwalten abhängiger Aktionen, die an
verschiedenen Orten einer verteilten Datenbank
stattfinden sollen (Steuern von
Geschäftsprozessen)
3 Begriff Replikation
- (konsistentes) Verwalten von Kopien von Daten in
verschiedenen Orten einer verteilten Datenbank - und zum Steuern von Geschäftsprozessen
4Ziele der Replikation
- Verbesserte Verfügbarkeit der Daten
- Erhöhte Performance
- Lokale Autonomie in Verbindung mit
Integrationsprozessen - Ziele verteilter Datenbanken weitgehend in
Übereinstimmung mit Zielen der Replikation
5Betriebliche Anforderungen
- Zuverlässige Bereitstellung von Up-to-Date
Informationen - Unternehmensweite Konsolidierung von dezentralen
Einheiten - Kombination von Decision Support mit OLTP
- Unterbrechungsfreier Betrieb trotz geplanter oder
ungeplanter Systemausfälle
6Replikationsstrukturen (Beispiele)
- Zentral verfügbare Daten werden verteilt
repliziert zur Unterstützung lokaler Anfragen
(Decision Support Replicates) - Zusammenführung dezentral verfügbarer Daten in
einem zentralen Ort (Corporative Data
Consolidation) - dezentral verfügbare Daten werden zu den jeweils
anderen Orten für Anfragen repliziert, ohne daß
Eigentümerprinzip gilt (Corporate Data
Integration) - Daten eines Ortes werden vollständig zu einem
anderen Ort repliziert (Stand-by database) - In der Praxis mehr oder weniger gemischte
Verwendung dieser Strukturen
7Real-Time Decision Support
Primary OLTP Datenbank
OLTP Applikationen
Decision Support Applikationen
Replicate Decision Support Datenbank
- Fortlaufende Weitergabe von Änderungen erzeugt
eine Echtzeit-Kopie - Beseitigt unvorhersehbare Einbrüche bei der OLTP
Performance aufgrund langlaufender Abfragen
8Unternehmensweite Konsolidierung
NY
Replicate Site
Primary Sites
NY
Netzwerk
Corporate
London
London
Tokyo
Tokyo
- Lokale Autonomie - jeder Standort verwaltet seine
eigene Primärkopie - Einige oder alle Daten werden in die Zentrale
repliziert - DB-Schemata müssen nicht identisch sein
- Up-to-Date Informationen immer verfügbar
9Unternehmens-Datenverarbeitung
10Replikation in verteilten Datenbanken
- Gliederung
- Einführung
- Grundlagen und Verfahren
- Überblick zum Stand bei einigen DBMS
- Realisierte Technologien am Beispiel von Sybase
11Verfahren zur Replikation
Strenge Konsistenz erfordert Synchrone Replikation
Schwache Konsistenz ermöglicht Asynchrone Replikat
ion
Konsistenz- anforderung
Verteilte Transaktionen mit 2-PC
Dump, Reload
Table Snapshot
Trigger- und Regel- basierte Replikation
Transaktions- basierte Replikation
Timestamp- basierte Replikation
Verfahren
Performance, Verfügbarkeit
Geringe Aktualität lokale Autonomie
Konsistente Transaktionen lokale Autonomie
Administrativer und Performance Overhead lokale Au
tonomie
Eigentümer prinzip oderhierarchischeTopologie ?
Script-Entwicklung
Probleme,Besonder-heiten
12Grundlegende Entscheidungskriterien
- Bei der Entscheidung über eine Replikationstechnol
ogie ist zu betrachten - Geschäftsanforderungen für die verteilte
Datenbank - Technologische Bedingungen und Grenzen der
Anwendungsumgebung - Verfügbare Resourcen für Entwicklung und
Administration
13Was ist ein Verteiltes System?
- C.J. Dates Arbeitsdefinition
- A distributed database system consists of a
collection of sites, connected together via some
sort of network, in which - Each site is a database system in its own right
- Sites have agreed to work together (if
necessary), so that a user at any site can access
data anywhere in the network exactly as if the
data were all stored at the users own site.
14Verteilte DatenbankenPraktische Faktoren
- Nicht alle Systeme erfordern, dass alle Daten an
allen Orten verfügbar sind. - Nicht alle Systeme erfordern, dass alle Daten an
allen Orten stets konsistent sind. - Der Grad, in dem das System die Anforderungen der
Definition erfüllen soll, ist der wichtigste
Faktor bei der Auswahl der Replikationstechnologie
.
15Probleme der verteilten Datenhaltung
Wahl der Technologie ist abhängig von
- Konsistenz
- Lokale Autonomie
- Datenpartitionierung (-fragmentierung)
- Transaktionssteuerung
- Zugriffsmöglichkeiten (connection)
- Topologie
16Konsistenz
- Strenge Konsistenz erfordert, dass sich alle
Daten in einem konsistenten Zustand befinden. - Schwache Konsistenz erlaubt nicht-aktuelle
Daten. - Latenz ist das Maß, wie lange die Daten
brauchen, um konsistent zu werden. - In manchen Fällen ist das System nie konsistent,
weil es immer Änderungen gibt, die noch nicht
repliziert wurden.
17Strenge oder schwache Konsistenz
- Welche Version der Daten wird benutzt?
Waterloo
Paris
18Lokale Autonomie
- Jeder Ort sollte unabhängig von den anderen Orten
operieren können. - Daten
- Datenbank-Struktur
- Applikations-Software
- Zeit
19Daten-Partitionierung
- Auch als Fragmentierung bezeichnet.
- Nur die Daten, die an einem Ort benötigt werden,
sollen dort gespeichert sein. - Die Datenbank eines Ortes ist ein complete
subset der Daten. - Ein Teil der Daten muß für verschiedene Orte
dupliziert werden.
20Daten-Partitionierung Update Anywhere
- Primary keys müssen eindeutig sein in der
gesamten Verteilten Datenbank. - Falls mehrere Orte insert in die gleiche Tabelle
ausführen. - Erfordert einen Mechanismus zur Konflikterkennung
und -auflösung. - Falls mehrere Orte berechtigt sind, die gleichen
Zeilen zu ändern.
21Daten-Partitionierung
- Bezugsobjekt der Fragmentierung ist Tabelle
- Jedes Fragment ist eine Tabellen-Untermenge
- Vollständige Tabelle
- Teilmenge der Zeilen (row subset)
- Teilmenge der Spalten (column subset)
- Row und Column Subset
22Daten-PartitionierungGrundbegriffe
Forderung Fragmentierungstransparenz und
Replikationstransparenz immer
?
23Transaktions-Steuerung
- Die gewählte Technologie sollte die
ACID-Bedingung erfüllen - Atomicity, Consistency, Isolation, Durability
- Nur committed data sollten repliziert werden.
- committed data müssen repliziert werden.
- Fehler beim Replizieren von committed data
müssen erkennbar sein. - Änderungen müssen in allen Datenbanken in der
gleichen Reihenfolge verarbeitet werden.
24Zugriffsmöglichkeiten
- Welcher Netzwerk-Typ steht den Orten zur
Verfügung? - High-speed LAN/WAN
- Low-speed Dial-up (RAS)
- Wireless
- Indirect (email, ftp)
- Internet (HTTP)
- Sneaker-net
25Hierarchisch Peer-to-peer
Topologie
database
database
database
Consolidateddatabase
Remote database/ Consolidateddatabase
Remote database
Remote database
database
database
database
Remote database
Remote database
26Topologie
- Welche Art von Beziehungen existiert zwischen den
Orten? - Peer-to-peer (für update anywhere)
- Jeder Ort kann Daten zu irgendeinem anderen Ort
transferieren. - Keine zentralisierte Masterkopie existiert.
- Konfliktauflösung ist extrem schwierig.
- Es gibt keinen Ort zum Erkennen und Auflösen der
Konflikte.
27Topologie
- Hierarchisch
- Jeder Ort sendet und empfängt Daten auf- und
abwärts innerhalb der Hierarchie. - Eine zentrale Masterkopie (konsolidierende
Datenbank) existiert. - Daten müssen stets über eine konsolidierende
Datenbank zu anderen Orten repliziert werden. - Erkennen und Auflösen der Konflikte sind in der
konsolidierenden Datenbank implementiert.
28Topologie
- Peer-to-peer (für Eigentümerprinzip)
- Jeder Ort kann Daten zu irgendeinem anderen Ort
transferieren. - Keine zentralisierte Masterkopie existiert, aber
jedes Fragment besitzt genau einen
Eigentümer(ort) - Primärkopie. - Konflikte werden vermieden. Konfliktauflösung ist
nicht erforderlich.
29Weitere Probleme
- Anzahl der Orte
- Bestimmte Technologien sind bei großer Anzahl
besser geeignet (mass deployment). - Hersteller
- Sind die DBMS der verschiedenen Orte vom gleichen
Hersteller ?
30Verfahren zur Replikation
Strenge Konsistenz erfordert Synchrone Replikation
Schwache Konsistenz ermöglicht Asynchrone Replikat
ion
Konsistenz- anforderung
Verteilte Transaktionen mit 2-PC
Dump, Reload
Table Snapshot
Trigger- und Regel- basierte Replikation
Transaktions- basierte Replikation
Timestamp- basierte Replikation
Verfahren
Performance, Verfügbarkeit
Geringe Aktualität lokale Autonomie
Konsistente Transaktionen lokale Autonomie
Administrativer und Performance Overhead lokale Au
tonomie
Eigentümer prinzip oderhierarchischeTopologie ?
Script-Entwicklung
Probleme,Besonder-heiten
31Streng konsistente Replikation
- Replikation muß bei meisten DBMS programmiert
werden, nur ein Hersteller gestattet Definieren
der Replikation für Tabellen - Benutzt das 2-Phase-Commit (automatisch oder
programmiert) - alle Kopien sind identisch
- großer Protokoll-Overhead
- reduziert die Fehlertoleranz und Verfügbarkeit
32Streng konsistente Replikation
- Änderungen werden simultan in allen
Datenbanken ausgeführt.
Bitte Warten, das Konto wird gerade geändert
Withdraw 100
Waterloo
Paris
33Streng konsistente Replikation Konsistenz
- Wenn absolute Konsistenz gefordert ist.
- Die Transaktion wird in allen oder keiner der
beteiligten Datenbanken realisiert.
34Streng konsistente Replikation Lokale Autonomie
- Sehr niedriges Niveau der lokalen Autonomie.
- Falls ein Ort ausfällt, ist das gesamte System
nicht mehr verfügbar.
X
Leider ist das System nicht verfügbar
Abhebung 100
Waterloo
Paris
35Streng konsistente Replikation Daten-Partitionie
rung
- Daten können beliebig partitioniert werden.
- Die Applikation muß die notwendigen Änderungen
überall ausführen. - Da die Transaktion in den beteiligten Datenbanken
simultan ausgeführt wird, gibt es keine Probleme
mit primary keys oder Konflikten.
36Streng konsistente Replikation Transaktions-Steu
erung
- Ein Distributed Transaction Server (DTS) ist
erforderlich. - Datenbank-Server mit DTS-Funktionalität
- Spezieller DTS
- Application Server mit DTS-Funktionalität
37Verteiles 2-Phasen-Commit
R1
R2 (Koordinator)
R3
Teil-TA-Ausführung
PREPARE
PREPARE
Logging
READY (FAILED)
Logging
COMMIT
COMMIT (ABORT)
Logging, Sperrfreigabe
ACK
Logging
- Basisverfahren
- 4 N Nachrichten (N Anzahl der Teil-TA)
- 2 (N 1) Log-Writes
- ABORT-Nachrichten gehen nur an Teil-TA, die nicht
mit FAILED gestimmt haben - Problem bei 2PC
- bei Koordinatorausfall lange Blockierung möglich
38Streng konsistente Replikation
Zugriffsmöglichkeiten
- Zuverlässiges Netzwerk ist erforderlich.
- Geschwindigkeit der Applikation ist stark
abhängig von der Geschwindigkeit des Netzwerks.
39Streng konsistente Replikation Topologie
- Typisch für eine peer-to-peer Topologie.
- Da alle Datenbanken simultan geändert werden,
ist keine Masterkopie erforderlich.
40Streng konsistente Replikation Weitere Probleme
- Leicht zu verstehen
- Sehr wenige Orte können unterstützt werden.
- Verteilung der Daten schwer skalierbar, da das
Hinzufügen weiterer verteilter Komponenten die
Performance senkt - Heterogene Umgebungen einfach zu unterstützen.
41Schwach Konsistente Replikation
- Primäre Kopie der Daten
- primäre und replizierte Daten sind nicht zu jeder
Zeit identisch - Hohe Performance erreichbar
- hohe Verfügbarkeit der Daten und Fehlertoleranz
42Verfahren der schwach konsistenten Replikation
- Dump und Reload
- Table Snapshot Replikation
- Trigger- und regelbasierte Replikation
- Transaktions-basierte Replikation
- Timestamp-basierte Replikation
43 Dump und Reload
- Datenbank Backups
- Datenbank Logs
- Versenden von Daten zu entfernten Orten
- Versenden von Transaktionen zum Zentralort
- gewöhnlich lange Verzögerungszeit
- Schwierigkeiten mit großen Datenmengen
44Dump und ReloadTopologie
database
database
database
database
database
database
45Table Snapshots Replikation
- Mehrere Hersteller unterstützen definierte
Snapshots - Replikate sind Kopien von
- Tabellen
- Teilmengen von Tabellen
- Views, Queries
- Ausführung automatisch (Trigger- oder
zeitgesteuert) oder manuell - meist read-only, aber auch eine updatable
snapshot-Lösung existiert - Problem begrenzte Konsistenz muß von Anwendungen
berücksichtigt werden - spezielle Lösungen zum Erreichen akzeptabler
Performance
46Trigger-basierte Replikation
Primärort
Replikatort 1
Replikatort 2
begin
Propagation queue
update T1
Call uppdate T1(...)
Trigger
delete T1
Call delete T1(...)
Trigger
insert T2
Call insert T2(...)
Trigger
update T3
Call update T3(...)
Store and forward 2-PC
Trigger
Transaktion
. . .
commit
Transaktion
47Trigger-basierte Replikation (1)
- Trigger - ursprünglich Konzept zur Sicherung der
Datenintegrität, hauptsächlich der
Referenzintegrität - Belastung mit Replikationslogik führt zu großen
Administrationsproblem - The excessive use of triggers can create a
complex web of mechanisms, which may be difficult
to maintain in a large application - Replikation bezüglich einer Tabelle erfordert
i.a. mehrere Trigger - Performance Probleme
- Triggerverfahren bewirkt Belastung der
Transaktionen - zeilenweises Auslösen, evtl. für jeweils mehrere
Zielorte - Daten- und Systemressourcen werden für längere
Zeit gesperrt
48Trigger-basierte Replikation (2)
- Trigger in Verbindung mit Update anywhere
(symmetrische Replikation) erfordern
synchronisierten Triggercode - weitere Belastung der Triggeradministration, z.B.
bei 100 Tabellen die über 5 Server repliziert
werden, sind bis zu 3 x 5 x 100 1500 Trigger
notwendig - falls ein Server hinzuzukommt, sind alle zu ändern
49Transaktions-basierte Replikation
Primärort
Replikatort 1
Replikatort 2
Begin Update T1 delete T1 insert T2 update
T3 Commit
Replication Server
DB- Server
Transaktion
DB- Server
Replication Server
Log Transfer Manager
Replication Server
Transaktion
Log
Stable queue
50Symmetrische Replikation versus Eigentümerprinzip
- Symmetrische Replikation
- replizierte Daten dürfen an mehreren Orten
geändert werden - Konfliktauflösung erforderlich
- nur strukturgleiche Tabellen können repliziert
werden - Objekt der Datenreplikation ist Tabelle
- Objekt der Prozedurreplikation ist identische
Prozedur
- Eigentümerprinzip
- jedes Datenelement besitzt einen Eigentümer
(Primärort), der dieses Datenelement ändern darf
die Replikatorte dieser Datenelemente dürfen nur
lesen - keine Konflikauflösung erforderlich
- Replikate können strukturell von Primärdaten
abweichen - kleinstes Objekt der Datenreplikation ist Spalte
einer Zeile - Objekt der Prozedurreplikation ist beliebige
Prozedur
51Peer-to-peer/Eigentümerprinzip Modulare
Architektur mit Support für Heterogenität
Transaktions-basierte Replikation
Andere Daten Quellen
ReplicationAgent
Network
Replication Server
Andere Daten Ziele
DB- Server
ReplicationAgent
Replication Driver for ODBC
- Replication Server verwaltet die Konfiguration
und Verteilung von Transaktionen - Replication Agents protokollieren Update
Transactions an den Quell-Datenbanken - Gateways und Replication Driver für ODBC liefern
Änderungen für DBMS verschiedener Hersteller
52Transaktions-basierte ReplikationHierarchisch
MessageAgent
MessageAgent
Remote database
DB
Inbox
Network LAN
Log
MessageAgent
Consolidated database
DB
Inbox
Log
Remote database
DB
Inbox
Log
53Transaktions-basierte Replikation
1234
10
UPDATE Product SET qty_oh 9WHERE sku_key 1234
UPDATE Product SET qty_oh 8WHERE sku_key 1234
1234
10
54Transaktions-basierte Replikation Konsistenz
- Niedriges bis hohes Konsistenz-Niveau ist
möglich. - Geschwindigkeit des store and forward messaging
system entscheidet wie konsistent die Datenbank
ist. - Irgendeine Latenz ist immer vorhanden.
55Transaktions-basierte Replikation Lokale
Autonomie
- Hohe lokale Autonomie
- Datenbank benötigt nur Daten, die von der
Applikation benötigt werden.
56Transaktions-basierte Replikation Partitionierung
- Daten sind meist partitioniert.
- Jede DB hat gemeinsame Daten und spezifische
Daten. - Update anywhere erfordert
- Unique primary keys.
- Konflikt-Erkennung und Auflösungsverfahren.
57Transaktions-basierte Replikation
Transaktions-Steuerung
- Transaktions-Steuerung muss garantieren
- Senden und Verarbeiten in korrekter Reihenfolge.
- Keine Transaktion darf verlorengehen.
58Transaktions-basierte Replikation
Zugriffsmöglichkeiten
- Ob eine direkte Verbindung erforderlich ist oder
nicht ist abhängig von den Latenzanforderungen.
59Transaktions-basierte Replikation Topologie
- Peer-to-peer und hierarchische Topologien können
benutzt werden. - Konfliktauflösung erfordert in der Regel ein
hierarchisches Modell.
60Transaktions-basierte Replikation Weitere Aspekte
- Nur Transaktionen werden transportiert, deshalb
- Ist es möglich viele DB zu unterstützen.
- Der Durchsatz ist unabhängig von der DB-Grösse.
61Timestampbasierte Replikationmit
Synchronisations-Server
Consolidated Database Server
Consolidated DB
MobiLink Client(ASA or UltraLite)
Remote Database Server (ASA or UltraLite)
MobiLinkServer
Remote DB
62Timestampbasierte Replikation
- Gegenwärtiger Zustand der Daten wird zwischen den
DB transportiert. - Kann als complete refresh oder nur für
geänderte Zeilen ausgeführt werden.
63Timestampbasierte Replikation
1234
10
UPDATE Product SET qty_oh 8WHERE sku_key 1234
1234
10
64Timestampbasierte Replikation Konsistenz
- Niedriges bis hohes Konsistenz-Niveau ist
möglich. - Daten sind nur unmittelbar nach der
Synchronization konsistent. - Frequenz der Synchronisation beinflusst das
Niveau der Konsistenz aber in jedem Fall gibt es
irgendeine Latenz.
65Timestampbasierte Replikation Lokale Autonomie
- Hohe lokale Autonomie
- Datenbank benötigt nur Daten, die von der
Applikation benötigt werden.
66Timestampbasierte Replikation Partitionierung
- Daten sind meist partitioniert.
- Jede DB hat gemeinsame Daten und spezifische
Daten. - Update anywhere erfordert
- Unique primary keys.
- Konflikt-Erkennung und Auflösungsverfahren.
67Timestampbasierte Replikation Transaktions-Steueru
ng
- Transaktionsgrenzen werden nicht verwaltet.
- Some operation sequences can not be synchronized.
(i.e. insert then delete of a row with the same
primary key value) - Most synchronization technologies batch the
operations. - e.g. all deletes, then inserts, then updates
68Timestampbasierte Replikation Zugriffsmöglichkeit
en
- Erfordert eine stabile Netzwerk-Verbindung
während des Synchronisation-Prozesses. - Geschwindigkeit der Verbindung beeinflusst den
Umfang der Daten der synchronisiert werden kann.
69Timestampbasierte Replikation Topologie
- Peer-to-peer und hierarchische Topologien können
benutzt werden. - Peer-to-peer ist schwierig, wenn update anywhere
erlaubt ist. - Welche Kopie ist korrekt?
- Wer löst einen update-Konflikt auf ?
70Timestampbasierte Replikation Weitere Aspekte
- Heterogene Umgebungen sind unterstützt.
- Jeder Ort kann unabhängig voneinander
synchronisieren, deshalb können viele Orte
unterstützt werden.
71Replikation in verteilten Datenbanken
- Gliederung
- Einführung
- Grundlagen und Verfahren
- Überblick zum Stand bei einigen DBMS
- Realisierte Technologien am Beispiel von Sybase
72Replication Server
Replicate Sites
Primary Sites
Replication Agent
Replication Server
- DirectCONNECT
- (Native drivers)
- Adaptive Server/Enterprise
- Adaptive Server/Anywhere
- Oracle
- Informix
- OS/390 DB2
- Replication Toolkit for MVS
- DirectCONNECT/
- Anywhere (ODBC)
73Replication Server Hauptmerkmale
- Transaktionen werden zu einem Replication Server
gesendet, der diese zwischenspeichert und zu den
Zielorten sendet - Eine schnelle Verbindung wird vorausgesetzt
- Nahezu real time (niedrige Latenz)
- Große Datenmengen
- Begrenzte Anzahl von Orten
- Heterogene DBMS-Umgebung unterstützt
- Uni-direktional
74Replication Server
Replikatort
Primärort
Replication Agent
Replication Server
75Replication Server - KomponentenPrimärort
- Ursprung der Datenänderung
- Mehrere Hersteller von RDBMS unterstützt
- Hält Eintragungen für alle Transaktionen,
normalerweise im Transaktions-Log, nicht bei
allen RDBMS möglich
76Replication Server - Komponenten Replication
Agent
- Liest das Transactions-Log des Primärortes
- Übergibt committed transactions in der
Reihenfolge ihrer Verarbeitung an den
Replication Server.
77Replication Server - Komponenten Replication
Server
- Empfängt Transaktionen von Replication Agents
- Speichert die Transaktionen solange bis sie an
allen Replikatorten erfolgreich verarbeitet
werden konnten - Verwaltet die Verbindungen zu allen Replikatorten
- Automatisches Recovery und Restore
- Bestimmt welche Orte die Transaktion benötigen
und startet sie in der korrekten Reihenfolge
78Replication Server - Komponenten Replication
Server
- Verhindert circular transactions.
- Ermöglicht Nutzer-programmierte function
strings zur Manipulation der Transaktion - Daten-Konvertierung
- Konvertieren des SQL in heterogenen Umgebungen
- Erkennt SQL-Fehler
79Replication Server - Komponenten Replikatort
- Verarbeitet SQL, das vom Replication Server
gesendet wurde - Ein Replikatort kann auch als Primärort
definiert werden, wenn bi-direktionale
Replikation benötigt wird
80Replication Server - Fragmentierungsmodelle
Verteilte Primärfragmente
create replication definition Rep_DB1with
primary at DSDB1.DB1 with all tables named
table...
DB1
Fragment 1- primär
Fragment 2- repliziert
Fragment 3- repliziert
DB2
DB3
Fragment 1- repliziert
Fragment 1- repliziert
Fragment 2- primär
Fragment 2- repliziert
Fragment 3- primär
Fragment 3- repliziert
81Replication Server - Fragmentdefinition
create replication definition Rep_DB1 with
primary at DSDB1.DB1 with all tables named
table (columnname, ) primary key
(id,...) searchable columns (id,.) create
subscription Sub_DB2 for Rep_DB2 with replicate
at DB1 where id create subscription
Sub_DB3 for Rep_DB3 with replicate at
DB1 where id ...
Replication definition
Subscription definition
82Replication Server - Fragmentierungsmodelle
Konsolidierende Replikation
Fragment 1 - primär
Fragment 2 - primär
Fragment 3 - primär
83SQL Remote
ASE
ASA
OR
ASA
ASA
84SQL RemoteHauptmerkmale
- Vollständige lokale Autonomie
- Partitionierung durch
- Column values
- Subqueries
- Where clauses
- Nachrichtenbasiert (keine session)
- MAPI (Microsoft), VIM (Lotus), SMTP, FTP and File
85SQL RemoteHauptmerkmale
- Hierarchisch
- Konsolidierende DB ist ASA oder ASE
- Remote DB sind ASA
- Homogen
- Viele Tausende Remote DB möglich
- Zentralisierte Administration
- Gestattet entfernte Administration einschließlich
Schemaänderungen - Für Endanwender völlig transparent
- Datensicherung mobiler Rechner
86SQL Remote Komponenten
Consolidated DatabaseServer
Message Agent
Consolidated Data Store
Message System
Remote DatabaseServer
Message Agent
Remote Data Store
87SQL Remote - Message Agent
MessageAgent
MessageAgent
Network LAN
Consolidated database
Remote database
DB
DB
Inbox
Inbox
Log
Log
88SQL Remote - Message Agent
MessageAgent
MessageAgent
Network WAN
Consolidated database
Remote database
DB
Inbox R
Inbox C
DB
Log
Log
89SQL Remote Komponenten Konsolidierende DB
- Enthält eine Kopie aller Daten, die zu
replizieren sind - Realisiert Konflikterkennung und Auflösung
- Transaktionen werden im Transactions-Log
aufgezeichnet - Verwaltet zusätzliche Daten im Transaktions-Log
über Transaktionen und Fragmente, die zu
replizieren sind
90SQL Remote Komponenten Message Agent
- Liest im Transactions-Log die Transaktionen, die
repliziert werden sollen - Bildet Nachrichten für jeden Ort, der Teilhaber
der Transaktion ist - Kooperiert mit dem Nachrichtensystem
- Garantiert korrektes Versenden und Verarbeiten
der Transaktionen - Erkennt Konflikte
91SQL Remote Komponenten Message System
- Sichert die store and forward-Technologie
- Benutzt
- MAPI
- SMTP
- VIM
- File
- FTP
92SQL Remote Komponenten Remote DB
- Enthält eine Teilmenge der Daten
- Transaktionen werden im Transactions-Log
aufgezeichnet - Verwaltet zusätzliche Daten im Transaktions-Log
über Transaktionen und Fragmente, die zu
replizieren sind
93SQL Remote Publisher und Subscriber
- Publication definiert die zu replizierenden
Daten - Subscription definiert das Replikationsziel
- Bi-direktionale Replikation
Subscribe
Publish
Subscribe
Publish
94SQL Remote - Fragmentdefinition
CREATE PUBLICATION publication-name (TABLE
table-name (column-name,) WHERE
search-condition SUBSCRIBE BY
expression, ) CREATE SUBSCRIPTION TO
publication-name (subscription-value) FOR
subscriber-id
Publication definition
Subscription definition
95MobiLink
ASA, ASE, Microsoft, Oracle, IBM
Serial
HTTP, TCPIP
HotSync, Wireless
ASA, PalmOS, CE, Pagers, Phones
96MobiLinkHauptmerkmale
- Vollständige lokale Autonomie
- Vollständige Kontrolle über Daten-Partitionierung
auf der konsolidierenden DB durch die Verwendung
von Scripts - Scriptsprache der Konsolidierenden DB
- Keine Partitionierung in der remote DB
97MobiLinkHauptmerkmale
- Session basiert
- Bi-direktional
- Mittlere bis hohe Latenz
98MobiLinkHauptmerkmale
- Hierarchische Topologie
- Konsolidierende DB kann ODBC-DB sein
- Sybase, Microsoft, Oracle, IBM
- ASA und/oder UltraLite remote DB
- Optimiert für Tausende remote DB
- Skalierbar durch konsolidierende DB
99MobiLink Komponenten
Consolidated Database Server
Consolidated Data Store
MobiLink Client(ASA or UltraLite)
Remote Database Server (ASA or UltraLite)
MobiLinkServer
Remote Data Store
100MobiLink Synchronization Server
- Interface zwischen konsolidierender DB und
remote server. - Arbeitet mit ODBC-basierter KDB
- Verantwortlich für vollständige Sicherung des
Synchronisationsprozesses - Unterstützt mehrere Synchronisationsprozesse
simultan
101MobiLink Konsolidierende Synchronisations- Logik
- SQL statements werden in der konsolidierenden DB
ausgeführt - Geschrieben in der Sprache der KDB
- Steuert den Synchronisations-Server.
- Datenfluß in beiden Richtungen
- Behandelt Konflikte
102MobiLink Remote Synchronisations- Logik
- ASA und UltraLite verfolgen alle Datenänderungen
- Eine Synchronisations-Komponente realisiert
- Lesen aller Änderungen zum Aufbau eines upload
stream - Empfangen des download stream und verarbeiten
der Änderungen in der remote DB