ReplikationReplikationin Datenbanksystemenin Datenbanksystemen
InhaltInhalt BegriffsklärungBegriffsklärung AnwendungsbeispieleAnwendungsbeispiele Klassifizierung der ReplikationKlassifizierung der Replikation Master – SlaveMaster – Slave Multi MasterMulti Master Konflikte und deren AuflösungKonflikte und deren Auflösung Replikation in Oracle 10gReplikation in Oracle 10g ZusammenfassungZusammenfassung QuellenQuellen
BegriffsklärungBegriffsklärung AllgemeinAllgemein
Replikation ist der Prozess Informationen Replikation ist der Prozess Informationen konsistent zwischen redundanten Quellen zu konsistent zwischen redundanten Quellen zu teilenteilen
Nach Oracle DefinitionNach Oracle Definition Replikation ist der Prozess, Datenbankobjekte Replikation ist der Prozess, Datenbankobjekte
zwischen multiplen Datenbanken, welche ein zwischen multiplen Datenbanken, welche ein verteiltes Datenbanksystem bilden, zu verteiltes Datenbanksystem bilden, zu kopieren und zu verwaltenkopieren und zu verwalten
Bsp1: Geografisch verteilte DatenbankBsp1: Geografisch verteilte Datenbank
Massen- Massen- Datenverteilung von Datenverteilung von zentraler Datenbankzentraler Datenbank
Kostengünstiger lokaler Kostengünstiger lokaler Zugriff durch ClientsZugriff durch Clients
Reduktion des Internet Reduktion des Internet TrafficTraffic
Globale Lastverteilung Globale Lastverteilung der Read-Anfragender Read-Anfragen
Beispiel 2: WebapplikationenBeispiel 2: Webapplikationen
Mehrstufige Mehrstufige Lastverteilung in einem Lastverteilung in einem RechenzentrumRechenzentrum
Vorteile:Vorteile: Hohe VerfügbarkeitHohe Verfügbarkeit Hohe AusfallsicherheitHohe Ausfallsicherheit Optimale LastverteilungOptimale Lastverteilung Sehr gute SkalierbarkeitSehr gute Skalierbarkeit
Webserver
Clients
Datenbankserver
Load Balancer
Load Balancer
KlassifizierungKlassifizierung Synchron (oder Aktiv)Synchron (oder Aktiv)
Anfrage wird auf allen Systemen verarbeitetAnfrage wird auf allen Systemen verarbeitet Vorgang ist nur gültig wenn auf allen Vorgang ist nur gültig wenn auf allen
Replikationssystemen erfolgreichReplikationssystemen erfolgreich
Asynchron (oder Passiv)Asynchron (oder Passiv) Anfrage wird auf einem System verarbeitet Anfrage wird auf einem System verarbeitet
und später synchronisiertund später synchronisiert Erlaubt Latenzen zw. den SynchronisierungenErlaubt Latenzen zw. den Synchronisierungen nicht Echtzeitfähignicht Echtzeitfähig
Master – SlaveMaster – Slave Ein Master verarbeitet Anfragen und Ein Master verarbeitet Anfragen und
synchronisiert die Backup Systemesynchronisiert die Backup Systeme Slave Systeme erhalten nur materialisierte Slave Systeme erhalten nur materialisierte
Sichten (read only)Sichten (read only) Keine Konfliktauflösung benötigtKeine Konfliktauflösung benötigt
Multi MasterMulti Master Jedes System verarbeitet Anfragen Jedes System verarbeitet Anfragen
individuell und synchronisiert den neuen individuell und synchronisiert den neuen Zustand hinterherZustand hinterher
Benötigt eine Art verteiltes Concurrency Benötigt eine Art verteiltes Concurrency Control System um Anomalien zu Control System um Anomalien zu vermeiden und Konflikte Aufzulösenvermeiden und Konflikte Aufzulösen
ReplikationskonflikteReplikationskonflikte Konflikte entstehen wenn auf Konflikte entstehen wenn auf
verschiedenen Mastern nahezu zeitgleich verschiedenen Mastern nahezu zeitgleich Transaktionen mit den selben Transaktionen mit den selben Zieldatensätzen ausgeführt werdenZieldatensätzen ausgeführt werden
DatenkonflikteDatenkonflikte Update KonfliktUpdate Konflikt EinmaligkeitskonfliktEinmaligkeitskonflikt Lösch KonfliktLösch Konflikt
Replikationskonflikte 2Replikationskonflikte 2 Transaction Ordering KonflikteTransaction Ordering Konflikte
Entstehen nur wennEntstehen nur wenn mehr als 2 Multimaster Sites vorhanden sindmehr als 2 Multimaster Sites vorhanden sind Die Kommunikation zu einem Master unterbrochen Die Kommunikation zu einem Master unterbrochen
war und der Replikationsvorgang fortgesetzt wirdwar und der Replikationsvorgang fortgesetzt wird
Reihenfolge der Replikationsupdates ist nicht Reihenfolge der Replikationsupdates ist nicht gewährleistetgewährleistet
Konflikte in Daten und der Referentiellen Konflikte in Daten und der Referentiellen Integität können entstehenIntegität können entstehen
Konfliktauflösungs-mechanismenKonfliktauflösungs-mechanismen
MethodeMethode Geeignet fürGeeignet für KonvergenzKonvergenz
Append Site NameAppend Site Name Uniqueness KonfliktUniqueness Konflikt ManuellManuell
Append SequenceAppend Sequence Uniqueness KonfliktUniqueness Konflikt ManuellManuell
DiscardDiscard Uniqueness KonfliktUniqueness Konflikt NeinNein
OverwriteOverwrite Update KonflikteUpdate Konflikte NeinNein
DiscardDiscard Update KonflikteUpdate Konflikte NeinNein
Latest TimestampLatest Timestamp Update KonflikteUpdate Konflikte jaja
Earliest TimestampEarliest Timestamp Update KonflikteUpdate Konflikte NeinNein
MinimumMinimum Update KonflikteUpdate Konflikte JaJa
MaximumMaximum Update KonflikteUpdate Konflikte JaJa
AdditiveAdditive Update KonflikteUpdate Konflikte JaJa
AverageAverage Update KonflikteUpdate Konflikte NeinNein
Priority GroupPriority Group Update KonflikteUpdate Konflikte JaJa
Site PrioritySite Priority Update KonflikteUpdate Konflikte NeinNein
Replikation in Oracle 10gReplikation in Oracle 10g
Replizierbare ObjekteReplizierbare Objekte ReplikationshierarchieReplikationshierarchie ReplikationsartenReplikationsarten
Multimaster ReplicationMultimaster Replication Materialized View Replication (Master Slave)Materialized View Replication (Master Slave) Hybrid – KonfigurationenHybrid – Konfigurationen
ReplikationswerkzeugeReplikationswerkzeuge
Replizierbare ObjekteReplizierbare Objekte Replizierbare Objektklassen in Oracle 10gReplizierbare Objektklassen in Oracle 10g
Tabellen Tabellen IndexeIndexe Views and Object Views Views and Object Views Packages und Package Bodies Packages und Package Bodies Prozeduren und Funktionen Prozeduren und Funktionen Nutzer-Definierte Typen und Type Bodies Nutzer-Definierte Typen und Type Bodies Trigger Trigger SynonymeSynonyme Indextypen Indextypen Nutzer-Definierte OperatorenNutzer-Definierte Operatoren
ReplikationshierarchieReplikationshierarchie
Replication GroupReplication Group Fasst Replikationsobjekte zusammenFasst Replikationsobjekte zusammen Kann in mehreren Sites vorhanden seinKann in mehreren Sites vorhanden sein
Replication SiteReplication Site Repräsentiert den Standort / ServerRepräsentiert den Standort / Server Unterscheidet Master und Materialized View Unterscheidet Master und Materialized View
Sites pro GuppeSites pro Guppe Jede Site kann abhängig von der Gruppe Jede Site kann abhängig von der Gruppe
Master oder Slave sein, jedoch nie beidesMaster oder Slave sein, jedoch nie beides
Multimaster ReplicationMultimaster Replication
Materialized View ReplicationMaterialized View Replication
Hybrid - KonfigurationenHybrid - Konfigurationen
Replikationswerkzeuge in OracleReplikationswerkzeuge in Oracle
Replication Management Tool in der Oracle Enterprise Replication Management Tool in der Oracle Enterprise Manager ConsoleManager Console Grafisches Frontend mit WizardGrafisches Frontend mit Wizard
Replication Management APIReplication Management API Stellt eine Programmierschnittstelle bereitStellt eine Programmierschnittstelle bereit
ZusammenfassungZusammenfassungVorteileVorteile
VerfügbarkeitVerfügbarkeit AusfallsicherheitAusfallsicherheit PerformanzPerformanz LastverteilungLastverteilung Offline ComputingOffline Computing Netzlast ReduktionNetzlast Reduktion
NachteileNachteile
HardwarekostenHardwarekosten Hohe Anforderungen an Hohe Anforderungen an
die Zuverlässigkeit der die Zuverlässigkeit der NetzwerkanbindungNetzwerkanbindung
Zusätzlicher Aufwand für Zusätzlicher Aufwand für Synchronisierung und Synchronisierung und KonfliktauflösungKonfliktauflösung
QuellenQuellen http://en.wikipedia.org/wiki/Replication_http://en.wikipedia.org/wiki/Replication_
%28computer_science%29%28computer_science%29 http://de.wikipedia.org/wiki/Replikation_http://de.wikipedia.org/wiki/Replikation_
%28Datenverarbeitung%29%28Datenverarbeitung%29 http://download.oracle.com/docs/cd/B14117_01/http://download.oracle.com/docs/cd/B14117_01/
server.101/b10733/toc.htmserver.101/b10733/toc.htm http://download.oracle.com/docs/cd/B14117_01/http://download.oracle.com/docs/cd/B14117_01/
server.101/b10732/repoverv.htm#19715server.101/b10732/repoverv.htm#19715 http://download.oracle.com/docs/cd/B14117_01/http://download.oracle.com/docs/cd/B14117_01/
server.101/b10732/repconfl.htm#22336server.101/b10732/repconfl.htm#22336
Top Related