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 Nach Oracle Definition 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
Beispiel 2: Webapplikationen Webserver Clients Datenbankserver Load Balancer 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) Asynchron (oder Passiv) 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 Methode Geeignet für Konvergenz Append Site Name Uniqueness Konflikt Manuell Append Sequence Discard Nein Overwrite Update Konflikte Latest Timestamp ja Earliest Timestamp Minimum Ja Maximum Additive Average Priority Group Site Priority 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 Nachteile Hardwarekosten 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