200 likes | 358 Views
Replikation. in Datenbanksystemen. Inhalt. Begriffsklärung Anwendungsbeispiele Klassifizierung der Replikation Master – Slave Multi Master Konflikte und deren Auflösung Replikation in Oracle 10g Zusammenfassung Quellen. Begriffsklärung. Allgemein
E N D
Replikation in Datenbanksystemen
Inhalt • Begriffsklärung • Anwendungsbeispiele • Klassifizierung der Replikation • Master – Slave • Multi Master • Konflikte und deren Auflösung • Replikation in Oracle 10g • Zusammenfassung • Quellen Ronny Dathe, 05 IN-D
Begriffsklärung • Allgemein • Replikation ist der Prozess Informationen konsistent zwischen redundanten Quellen zu teilen • Nach Oracle Definition • Replikation ist der Prozess, Datenbankobjekte zwischen multiplen Datenbanken, welche ein verteiltes Datenbanksystem bilden, zu kopieren und zu verwalten Ronny Dathe, 05 IN-D
Bsp1: Geografisch verteilte Datenbank • Massen- Datenverteilung von zentraler Datenbank • Kostengünstiger lokaler Zugriff durch Clients • Reduktion des Internet Traffic • Globale Lastverteilung der Read-Anfragen Ronny Dathe, 05 IN-D
Clients Load Balancer Webserver Load Balancer Datenbankserver Beispiel 2: Webapplikationen • Mehrstufige Lastverteilung in einem Rechenzentrum Vorteile: • Hohe Verfügbarkeit • Hohe Ausfallsicherheit • Optimale Lastverteilung • Sehr gute Skalierbarkeit Ronny Dathe, 05 IN-D
Klassifizierung • Synchron (oder Aktiv) • Anfrage wird auf allen Systemen verarbeitet • Vorgang ist nur gültig wenn auf allen Replikationssystemen erfolgreich • Asynchron (oder Passiv) • Anfrage wird auf einem System verarbeitet und später synchronisiert • Erlaubt Latenzen zw. den Synchronisierungen • nicht Echtzeitfähig Ronny Dathe, 05 IN-D
Master – Slave • Ein Master verarbeitet Anfragen und synchronisiert die Backup Systeme • Slave Systeme erhalten nur materialisierte Sichten (read only) • Keine Konfliktauflösung benötigt Ronny Dathe, 05 IN-D
Multi Master • Jedes System verarbeitet Anfragen individuell und synchronisiert den neuen Zustand hinterher • Benötigt eine Art verteiltes Concurrency Control System um Anomalien zu vermeiden und Konflikte Aufzulösen Ronny Dathe, 05 IN-D
Replikationskonflikte • Konflikte entstehen wenn auf verschiedenen Mastern nahezu zeitgleich Transaktionen mit den selben Zieldatensätzen ausgeführt werden • Datenkonflikte • Update Konflikt • Einmaligkeitskonflikt • Lösch Konflikt Ronny Dathe, 05 IN-D
Replikationskonflikte 2 • Transaction Ordering Konflikte • Entstehen nur wenn • mehr als 2 Multimaster Sites vorhanden sind • Die Kommunikation zu einem Master unterbrochen war und der Replikationsvorgang fortgesetzt wird • Reihenfolge der Replikationsupdates ist nicht gewährleistet • Konflikte in Daten und der Referentiellen Integität können entstehen Ronny Dathe, 05 IN-D
Konfliktauflösungs-mechanismen Ronny Dathe, 05 IN-D
Replikation in Oracle 10g • Replizierbare Objekte • Replikationshierarchie • Replikationsarten • Multimaster Replication • Materialized View Replication (Master Slave) • Hybrid – Konfigurationen • Replikationswerkzeuge Ronny Dathe, 05 IN-D
Replizierbare Objekte • Replizierbare Objektklassen in Oracle 10g • Tabellen • Indexe • Views and Object Views • Packages und Package Bodies • Prozeduren und Funktionen • Nutzer-Definierte Typen und Type Bodies • Trigger • Synonyme • Indextypen • Nutzer-Definierte Operatoren Ronny Dathe, 05 IN-D
Replikationshierarchie • Replication Group • Fasst Replikationsobjekte zusammen • Kann in mehreren Sites vorhanden sein • Replication Site • Repräsentiert den Standort / Server • Unterscheidet Master und Materialized View Sites pro Guppe • Jede Site kann abhängig von der Gruppe Master oder Slave sein, jedoch nie beides Ronny Dathe, 05 IN-D
Multimaster Replication Ronny Dathe, 05 IN-D
Materialized View Replication Ronny Dathe, 05 IN-D
Hybrid - Konfigurationen Ronny Dathe, 05 IN-D
Replikationswerkzeuge in Oracle • Replication Management Tool in der Oracle Enterprise Manager Console • Grafisches Frontend mit Wizard • Replication Management API • Stellt eine Programmierschnittstelle bereit Ronny Dathe, 05 IN-D
Zusammenfassung Vorteile • Verfügbarkeit • Ausfallsicherheit • Performanz • Lastverteilung • Offline Computing • Netzlast Reduktion Nachteile • Hardwarekosten • Hohe Anforderungen an die Zuverlässigkeit der Netzwerkanbindung • Zusätzlicher Aufwand für Synchronisierung und Konfliktauflösung Ronny Dathe, 05 IN-D
Quellen • http://en.wikipedia.org/wiki/Replication_%28computer_science%29 • http://de.wikipedia.org/wiki/Replikation_%28Datenverarbeitung%29 • http://download.oracle.com/docs/cd/B14117_01/server.101/b10733/toc.htm • http://download.oracle.com/docs/cd/B14117_01/server.101/b10732/repoverv.htm#19715 • http://download.oracle.com/docs/cd/B14117_01/server.101/b10732/repconfl.htm#22336 Ronny Dathe, 05 IN-D