Ausarbeitung Replikation in Datenbanken

Ähnliche Dokumente
Replikation in Datenbanken

2. Architektur verteilter Datenbanksysteme

Replikation verteilter Datenbanken

Informationssysteme für Ingenieure

Einsatz von Replikation. Florian Munz

Datenbankbasierte Lösungen

Datenbanksysteme. Donald Kossmann TU München

Verteilte Datenbanken. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Ist Dein PostgreSQL logisch genug für bidirektionalität? , Swiss PGDay Harald Armin Massa

Verteilte Datenbanksysteme. Hans-Dieter Ehrich Institut für Informationssysteme Technische Universität Braunschweig

1. Einführung, Problemstellung und Überblick Rechnernetze

Lösen Sie (fast) alle ihre Probleme mit Oracle Advanced Queuing. Performance Lastverteilung

RavenDB, schnell und skalierbar

Extreme Performance mit Oracle Times Ten

Integration von heterogenen Datenbanken mit Oracle

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

PostgreSQL im Cluster. Hans-Jürgen Schönig Hans-Jürgen Schönig

Query Result Caching. Optimierung des Datenbankzugriffs

Datenbanken Grundlagen und Design

NoSQL Andere Wege in der Speicherung von Geodaten?

Kompaktes Netzwerk-Wissen rund um das Optimieren von Windows-Server basierten Netzwerken

Thomas Matzner Berater für Systemanalyse Couchbase. Java User Group München

PostgreSQL in großen Installationen

Materialized Views. Jan-Peter Timmermann. DOAG Regiotreffen Hamburg: Materialized Views Seite 1

Freiberuflicher IT-Berater Schwerpunkte: Unix, Oracle, Netzwerk. IT-Berater. Dipl.-Inform.

Replikation und Synchronisation. in mobilen Datenbanksystemen

NoSQL. Prof. Dr. Ingo Claßen. Einführung. Kategorisierung von NoSQL-Systemen. Verteilung. Konsistenz. Literatur

Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen

1. WAS IST EINE REPLIKATION? 2. WELCHE FIREBIRD VERSIONEN SIND FÜR DIE IBEXPERT REPLIKATION EINSETZBAR?

Verteilte Betriebssysteme

Einführung in parallele Dateisysteme am Beispiel von GPFS. Proseminar von Jakob Schmid im SS 2014

Verteilte Systeme. Replikation & Konsistenz I. Prof. Dr. Oliver Haase

Data Dictionary for Oracle

P2P DATENBANKEN. Anwendungen 1 WS 2009/2010. Julissa Cusi Juarez. Department Informatik

Datenbanken Datenbanken 1 Belegnummer Belegnummer

Vergessene (?) SQL- und PL/SQL- Funktionen

5.1 Verteilung von Aktualisierungshinweisen

NoSQL mit Postgres 15. Juni 2015

MySQL Replication: Eine Einführung

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

Architekturen für ein Collaborative Workspace

Continuous Delivery mit Orcas

Johannes Ahrends CarajanDB GmbH

Oracle Streams Doag Vortrag Claus Cullmann

Datenbanken 1 Datenbanken SPO 2014 SPO 2007 Belegnummer Belegnummer

Objekt-relationales Datenbanksystem Oracle

Verteilungsmechanismen in verschiedenen RDBMS

Data-Warehouse-Technologien

MariaDB und Galera. Chemnitzer Linux-Tage März Ralf Lang Linux Consultant & Developer B1 Systems GmbH

Oracle 9i Einführung. Performance Tuning. Kurs. Teil 12 Materialized Views. Universität Hannover. Praxisbeispiel. Migration.

Verteilte Datenbanken

mathematik und informatik

MySQL Replikationstechnologien eine Übersicht

S T O R A G E - LÖ S U N G E N

quick documentation Inhalt Datenmodellierung

Kapitel 14 Verteilte DBMS

NoSQL Datenbanken am Beispiel von HBase. Daniel Georg

Datensicherheit und Hochverfügbarkeit

Geschichte der Netze und verteilten Systeme. Gründe für die Nutzung verteilter Systeme. Wünschenswerte Eigenschaften verteilter Systeme

2

XML in der Oracle Datenbank

WebLogic Server im Zusammenspiel mit Real Application Cluster

Replikation und Caching für mobile Anwendungen

Hochverfügbarkeit mit Data Guard Möglichkeiten und Grenzen

Verteilte Datenbanken

Datenbanksysteme für Business, Technologie und Web. Nutzerdefinierte Replikation zur Realisierung neuer mobiler Datenbankanwendungen DB I S

Datenbanken & Informationssysteme Übungen Teil 3

Oracle Virtual Private Database

Praktische SQL-Befehle 2

Relationales Datenbanksystem Oracle

Datenbankspiegelung mit (Active) Data Guard. und Abgrenzung

OPTIMISTIC & PESSIMISTIC LOCK Design Patterns PILLER NADIA SARBACH MATTHIAS

5.3.2 Sequentielle Konsistenz. Def.: Sequentielle Konsistenz (sequential consistency):

PostgreSQL Ein Überblick

Einführung Verteilte DBS Schemaarchitektur Katalogverwaltung Namensverwaltung

8.4 Überblick und Vergleich weiterer ERP-Systeme. G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP

Google Spanner. Proseminar Ein-/Ausgabe Stand der Wissenschaft. Hanno Harte. Betreuer: Julian Kunkel

Oracle GoldenGate Die Replikation beginnt mit Initial-Load! DOAG Konferenz Nürnberg 16. November 2011

Erfahrungen aus dem Betatest Oracle Database 11g

Überblick. Replikation Motivation Grundlagen Aktive Replikation Passive Replikation. c td VS (SS16) Replikation 6 1

6.3 Verteilte Transaktionen

Hochverteilte Datenhaltung im Internet

Erfahrungen mit TimesTen 7.0

Konfiguration Management System. Konfiguration Management System. Versionierung Parallele Entwicklung Workspace

MySQL Cluster. Kai Voigt MySQL AB Kiel, 17. Februar 2006

Tuning the Mobile Server

Performance by Design Wie werden performante ETL-Prozesse erstellt?

Berechnung von Kennzahlen mit der SQL Model Clause

Oracle9i Designer. Rainer Willems. Page 1. Leitender Systemberater Server Technology Competence Center Frankfurt Oracle Deutschland GmbH

Überblick Felix Naumann. Zugriffsrechte Zugriffsrechte erzeugen Zugriffsrechte prüfen Zugriffsrechte vergeben Zugriffsrechte entziehen

Upgrade-Leitfaden. Apparo Fast Edit. Wechsel von Version 2 auf Version oder Wechsel von Version auf Version 3.0.

Upgrade-Leitfaden. Apparo Fast Edit. Wechsel von Version 2 auf Version oder Wechsel von Version auf Version 3.0.

Oracle Replikationen im Vergleich. -Streams - Advanced Replication - Quest Shareplex

Einsatz und Realisierung von Datenbanken. Prof. Alfons Kemper Lehrstuhl für Informatik III: Datenbanksysteme

Systemkonfiguration für sehr gute Performance und hohe Ausfallsicherheit in der E-Business Suite

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle

SODA. Die Datenbank als Document Store. Rainer Willems. Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG

TAV Übung 3. Übung 3: Verteilte Datenhaltung

MySQL HA Lösungen für Front- und Backend. Matthias Klein

Oracle 12c: Migrationswege und Konzepte. Dierk Lenz

Transkript:

Ausarbeitung Replikation in Datenbanken Yves Adler (05IND) 25. Juni 2008 1

Inhaltsverzeichnis 1 Einführung 3 1.1 Anwendunsszenarien................................ 4 2 Grundlegende Konzepte 5 2.1 symmetrische vs. asymmetrische Replikation.................. 6 2.2 synchrone vs. asynchrone Replikation...................... 8 2.3 Konfliktauflösung................................... 9 3 Replikation in der Paxis 10 3.1 Spezielle Replikationsverfahren........................... 10 3.2 Replikation mit Oracle 10g............................. 10 3.2.1 Multimaster Replikation........................... 11 3.2.2 Materialized View Replikation....................... 12 3.2.3 Multimaster und Materialized View Hybrid - Replikation...... 13 2

1 Einführung Replication is the process of copying and maintaining database objects, such as tables, in multiple databases that make up a distributed database system. (Ora07a) Als Replikation (im Zusammenhang mit Datenbanken) wird der Prozess zur mehrfachen Datenspeicherung und Datenpflege in (verteilten) Datenbank-/Informationssystemen bezeichnet. Dieses Vorgehen gewinnt mit dem wachsenden Datenaufkommen und der zunehmenden Verteilung von Datenbanksystemen immer mehr an Bedeutung. Allerdings entsteht auch ein nicht unerheblicher Mehraufwand beim Design, der Implementierung und der Wartung des Datenbanksystems. Folgende Gründe für den Einsatz von Replikation werden in (Ora07a) genannt: Verfügbarkeit/Recovery: Der Ausfall einer Kopie der Daten stellt keinen Totalausfall des Gesamtsystems dar, sollten diese Daten repliziert auf einem anderen Server zur Verfügung stehen. Performance: Replikation kann schnellen Zugriff auf Daten gewährleisten, so ist es möglich die Last auf mehrere Server zu verteilen und dadurch die Last des Gesamtsystems zu reduzieren. Ein Nutzer greift dann typischerweise auf eine lokale oder Netztopologisch nahe Kopie der Daten zu, dadurch werden die lokalen Antwortzeiten auf eine Anfrage reduziert. Dies betrifft jedoch zumeist nur Lesetransaktionen. Disconnected Computing: Ein Nutzer kann bestimmte Daten lokal replizieren, mit Ihnen Offline arbeiten und später wieder mit dem Gesamtsystem synchronisieren. Reduzierung der Netzwerklast: Sind die Daten über verschiedene Geografische Lokationen (Bsp: Niederlassungen einer Bank) verteilt, so kann Replikation die Netzwerklast im Vergleich zu einem zentralisierten System drastisch reduzieren. Diese Vor- und Nachteile kann man beim Design eines Datenbanksystems durch die Verwendung verschiedener Replikationsverfahren unterschiedlich gewichten, je nach Anwendungsszenario. Einen Goldenen Weg gibt es dabei allerdings nicht, auch ist die Replikation von Daten kein Allheilmittel um Performancesteigerungen zu erzielen, so sind die Lösungen oft sehr Problemspezifisch und eine gute Lösung muss stets in ihrem Umfeld betrachtet werden. Das heißt es ist generell schwierig gute Lösungen von einem Umfeld in ein anderes zu übernehmen. 3

1.1 Anwendunsszenarien In den letzten Jahren haben sich die Einsatzszenarien (Multimedia, www, etc.) für Informationssysteme stark gewandelt. Damit gehen erhöhte Anforderungen an Skalierbarkeit, Verfügbarkeit und Performance einher, die durch den Einsatz von Replikation adressiert werden sollen. Ein paar ausgewählte Anwendungsszenarien: Skalierbarkeit Bei Internetdienstleisten wie z.b. Google, YouTube und Amazon steht die Skalierbarkeit der Leselast ganz klar im Vordergrund, so müssen tausende Anfragen von unterschiedlichen Nutzern möglichst effizient, dezentral und schnell zu beantworten. Dafür werden große Webserver-Farmen betrieben, welche wiederum auf verteilte Datenbanksysteme zurückgreifen. Nur durch Replikation (eine lokale Kopie der Daten) ist es den verschiedenen Niederlassungen möglich optimale Antwortzeiten zu erzielen. Mobile Computing Für Außendienstmitarbeiter ist es häufig nötig auf deren mobilen Endgeräten einen Teil der Firmendaten (z.b.: Die Daten der durch den Außdendienstmitarbeiter betreuten Kunden) zu replizieren. So kann ein Außendienstmitarbeiter offline an den Daten arbeiten und diese später mit der Firmendatenbank abgleichen. Höhere Verfügbarkeit Wenn in verteilten Datenbanksystemen zusätzlich zur Verteilung auch noch Replikation eingesetzt wird, kann der Betrieb beim Ausfall eines Knotens aufrechterhalten werden. In sogenannten Hot-Standby-Konfigurationen (bzw. Warm- Standby ) sorgt eine Master/Slave-Konfiguration für eine erhöhte Ausfallsicherheit, in dem der Slave alle Daten des Masters repliziert und im Falle eines Ausfalls des Masters sofort einspringt. Datawarehouse Im Datawarehouse/Datamarten-Umfeld kommt es häufig zur manuellen Replikation von Daten. So werden die Daten aus Quellsystemen extrahiert, in das Datawarehouse geladen und dort weiter verarbeitet. Dies geschieht häufig aus zwei Gründen: Entlastung des Quellsystems (die eigentliche Rechenarbeit läuft dann im DWH) und eine Zentralisierung der im DWH- Scope liegenden Daten für bestimmt Auswertungen. 4

2 Grundlegende Konzepte Fast jedes Datenbanksystem bietet Hauseigene Werkzeuge um Replikation zu managen. Dabei ist jedoch auffällig, das es keineswegs einen Standard gibt, lediglich ein kleinster gemeinsamen Nenner ist zu finden. Aus diesem Grund werde ich mich nachfolgend auf die Grundlegenden Konzepte beschränken und an geeigneter Stelle auf die Datenbanksystemspezifischen Möglichkeiten eingehen. Entscheidet man sich für den Einsatz von Replikation in einer Datenbank / einem Datenbanksystem, so muss man diese Entscheidung schon beim Design der Datenbank einfließen lassen. So bieten die meisten Datenbanksysteme die Möglichkeit nahezu alle Datenbankobjekte (vom Package bis zur Tabelle, etc.) zu replizieren. Es liegt beim Nutzer, welche Objekte er für Kritisch/Replikationswürdig hält. Da Replikation zumeist im Zusammenhang mit verteilten Datenbanksystemen (VDBS) anzutreffen ergeben sich starke Zusammenhänge zwischen der Fragmentierung des VDBS und der darin genutzten Replikation. So kann die horizontale und/oder vertikale Fragmentierung einer Relation grundsätzlich redundanzfrei oder mit Replikation erfolgen, man spricht dann auch von redundanzfreier Allokation bzw. Allokation mit Replikation. Auf diese Weise ist es möglich eine Replikation mit sehr feiner Granularität aufzubauen, sollte dies benötigt werden. Nutzt man Replikation in einem verteilten Datenbanksystem, so muss man eine geringere Transparenz der Daten in Kauf nehmen, da diese explizit an verschiedene Orte verteilt und redundant gespeichert werden. Allerdings sollte man sich stets bewusst sein, das es sich bei den meisten verteilten Vorgehensweisen um ein Abwägen der Vor- und Nachteile handelt. Es ist sicherlich ein Kinderspiel und binnen kürzester Zeit ein funktionierendes Datenbankumfeld mittels Replikation zu Grunde zu richten. 5

2.1 symmetrische vs. asymmetrische Replikation symmetrische Replikation Bei der Symmetrischen Replikation wird ein Update auf allen Rechnern, bzw. auf allen Replikaten des Replikationsverbundes durchgeführt, man spricht auch von Update anywhere / Update everywhere. Abbildung 1: Symmetrische Replikation Wie auf dieser Abbildung zu sehen ist kann es zu Konflikten bei gleichzeitigen Update eines Datenbankobjekts durch zwei oder mehr Clients (hier X und Z) auf unterschiedlichen Knoten des Replikationsverbundes kommen. Es ist abzuwägen, ob die entstehende Lastverteilung zwischen den Knoten den gestiegenen Kommunikationsaufwand für die Synchronisation der Knoten im Replikationsverbund rechtfertigt. 6

asymmetrische Replikation Bei einer Asymmetrischen Replikation wird ein Update der Daten nur auf einem Rechner(verbund)/Replikat, der sogenannten Primary Copy bzw. dem Update Master, zugelassen und durchgeführt. Dieser Rechner(verbund) propagiert nach erfolgtem Update die Änderungen an den Rest des Replikationsverbundes. Abbildung 2: Asymmetrische Replikation Gegenüber der symmetrischen Replikation kann es hier nicht zu Konflikten bei einem Update von einem Datenbankobjekt kommen, da nur ein Knoten zugelassen ist. Dieser muss jedoch alle Änderungen an den Replikationsverband propagieren. Zusätzlich trägt er die komplette Rechenlast aller Updates, welche bei der symmetrischen Replikation auf die verschiedenen Knoten des Verbundes verteilt sind. 7

2.2 synchrone vs. asynchrone Replikation synchrone Replikation ( eager / pessimistic Replication) Bei der synchronen Replikation wird eine Transaktion zeitgleich auf allen Replikaten durchgeführt und ist erst dann erfolgreich beendet, wenn die Transaktion auf allen Replikaten erfolgreich durchgeführt wurde. Sollte auf einem Replikat die lokale Transaktion scheitern, so ist auch die globale Transaktion gescheitert. Mit der synchronen Replikation werden mögliche Konflikte vor dem Commit der Transaktion erkannt. Auf diese Weise kann die Atomarität der Transaktion direkt gesichert werden. Meist wird dies mit Hilfe des 2-Phase-Commit (2PC) Protokolls, oder einer Variante von diesem (2PC*, 3PC) sichergestellt. Daraus entsteht auch direkt der Hauptnachteil der synchronen Replikation in Form des Kommunikationsoverheads welcher bei der (Synchronikations-)Komminikation zwischen den Knoten des Replikationsverbundes entsteht (dies äußert sich in längeren Antwortzeiten). asynchrone Replikation ( lazy / optimistic Replication) Bei der asynchronen Replikation ist es erlaubt, das sich die Replikate unterscheiden, d.h. es wird lediglich sichergestellt das das replizierte Datenbankobjekt konvergiert. Die asynchrone Replikation kann keine Konfliktfreiheit nach erfolgtem Commit garantieren, es wird lediglich sichergestellt das die Daten konvergieren. Also sind zumindest die mehrzahl der Replikate, welche von einer Transaktion betroffen sind, nach dem Commit auf dem aktuellen Stand. Letztendlich kann die Asynchrone Replikation so einen großen Performancegewinn bei Schreiboperationen erzielen, jedoch auf kosten eines Mehraufwands bei Leseoperationen, da hier mehr Replikate gelesen werden müssen um mögliche Konflikte auszuschließen. Spezialfall: Prozedurale Replikation (Oracle) Bei der Prozeduralen Replikation werden die PL/SQL Funktionen und Packages repliziert um dann jeweils auf den lokalen Replikaten ausgeführt zu werden. Das heißt, wenn eine Funktion von einem Client aufgerufen wird, so werden nicht die Ergebnisdaten anschließend synchronisiert (nachdem diese von einem Knoten berechnet wurden) sondern alle Knoten, welche ein Replikat der betroffenen Daten halten berechnen parallel diese Funktion auf dem jeweils lokalen Replikat. 8

2.3 Konfliktauflösung Allgemeine Konfliktauflösung Timestamp basierte Verfahren: Latest Timestamp : Tritt ein Konflikt zwischen zwei Replikaten bei einem Timestamp basierten Replikationsverfahren auf, so wird das Replikat mit dem jüngeren Timestamp gewählt. Diese Strategie ist zwar Problembehaftet, erfüllt aber trotzdem das Konvergenzkriterium. Earliest Timestamp : Stellt das Gegenteil der Latest Timestamp Methode dar, wählt also das älteste Replikat. Master/Slave - Mastercopy wins : Bei Konflikten gewinnt immer das Replikat auf dem Master-Server, dies kommt häufig beim Disconnected Computing zum Einsatz. Site Priority : Bei Prioritätsbasierten Konfliktauflösungsverfahren werden nicht alle Replikationsstandardorte als gleichberechtigt erachtet. Dies ist meist der Fall, wenn ein Standard den Anspruch auf präzisereërhebt. Notice User : Wird oft als letzte Möglichkeit angesehen, wenn andere Verfahren scheitern wird der Nutzer aufgefordert den entstandenen Konflikt manuell aufzulösen. Attributbasierte/Spaltenbasierte Konfliktauflösung Additive and Average : Bei zwei konkurrierenden Werten wird einfach der Durchschnitt der beiden gebildet. Je nach dem, ob man Additive oder Average verwendet wird dabei auf eine andere Formel zurückgegriffen. Minimum and Maximum : Bei zwei konkurrierenden Werten wird einfach das Minimum, bzw. Maximum der beiden gebildet. Priority Group : Kommt bei konkurrierenden Zugriffen auf eine Relation zum Einsatz. Dabei werden die Spalten der Relation mit Prioritäten versehen, die Spalte mit der höchsten Priorität bekommt als erstes den Zugriff. 9

3 Replikation in der Paxis In diesem Abschnitt möchte ich einige Replikationsverfahren von Oracle kurz vorstellen. Dabei will ich jedoch lediglich einen groben Überblick geben, detailierte Beschreibungen zu den Möglichkeiten der Datenbanksysteme finden sich in folgenden Dokumenten: Oracle 10g: (Ora07a) und (Ora07b) PostgreSQL 8.3: (Pos08) MySQL 5.1: (MyS08) 3.1 Spezielle Replikationsverfahren Dateisystem Replikation - Dabei wird die Replikation von dem Datenbanksystem ins Dateisystem verlagert. Snapshot-Replication : Replikation im Datawarehouse Umfeld - Stellt eine One- Way -Replikation dar, meist liefert ein Quellsystem (regelmässig) Daten an ein Datawarehouse, welche dort geladen und somit repliziert werden. Dies kann einerseits durch einen Export/Import-Mechanismus oder durch einen Database-Link und Materialized Views geschehen. 3.2 Replikation mit Oracle 10g Oracle 10g kann folgende Datenbankobjekte replizieren: Tabellen (oder Partitionen von Tabellen), Views / Object Views Indexe und Indextypes Trigger Packages, Package Bodies sowie Stored Procedures / Functions User-Defined Types / Type Bodies und User-Defined Operators Synonyms 10

Grundlage für jede Replikation mit Oracle 10g sind sogenannte Replication Groups, in diesen werden die zu replizierenden Objekte organisiert/gruppiert. Dies soll die Administration erleichtern, da sich Objekte welche logisch zusammenhängen leicht gruppieren lassen. Allerdings kann ein zu replizierendes Objekt nur zu genau einer Gruppe zugeordnet werden. 3.2.1 Multimaster Replikation Multimaster replication (also called peer-to-peer or n-way replication) enables multiple sites, acting as equal peers, to manage groups of replicated database objects. Each site in a multimaster replication environment is a master site, and each site communicates with the other master sites. (Ora07a, Seite 1-4) Abbildung 3: Oracle: Multimaster Replikation - (Ora07a, Seite 1-5) Als Multimaster -Replikation wird von Oracle eine symmetrische Replikation, welche Standardmässig asynchron arbeitet bezeichnet. Das heißt alle Master -Server in einer Multimaster -Replikations-Umgebung kommunizieren miteinander um Konvergenz der replizierten DB-Objekte sicherzustellen. Dabei ist hervorzuheben, das natürlich nur Server, welche dieselbe Replikationsgruppe beherbergen miteinander kommunizieren müssen. Allerdings biete Oracle die Möglichkeit eine synchrone Multimaster -Replikation zu nutzen - siehe (Ora07a, Seite 2-29 und 2-30). Ebenfalls ist es möglich optional in ei- 11

ner Multimaster -Replikations-Umgebung die Prozedurale Replication von Oracle zu nutzen. 3.2.2 Materialized View Replikation A materialized view contains a complete or partial copy of a target master from a single point in time. (Ora07a, Seite 1-5) Abbildung 4: Oracle: Multitier Materialized Views Replikation - (Ora07a, Seite 3-23) Die (Read-Only) materialized View Replikation ist technisch sicherlich die einfachste in Oracle 10g zur Verfügung stehende Replikation. Sie wird auch als Single-Master - Replikation bezeichnet und kann sowohl synchron, als auch asynchron ablaufen. Die materialized View Replikation......ermöglicht schnellen lokalen Zugriff...reduziert die Last auf dem Master-Server...kann die Sicherheit erhöhen, da nur bestimmte Daten (ein beliebiges Subset) vom Master repliziert werden können....bietet die Möglichkeit zum erstellen von Disconnected Materialized View Enviroments Eine interessante Variante stellt die updateable materialized Views, welche dem Nutzer lokal Änderungen an der materialized View erlauben. Diese lokalen Änderungen werden dann an den Master übermittelt und von dort weiter zu allen Knoten der Replication Group. Die materialized-view-replikation unterstützt folgende Refresh-Arten: 12

Fast refresh - Nutzt das materialized View Log um nur die Spalten, welche sich seit dem letzten Update verändert haben zu aktualisieren. Complete refresh - Aktualisiert die komplette materialized View Force refresh - führt (wenn möglich) ein Fast refresh aus, sollte dies nicht möglich sein wird eine komplette Aktualisierung ( Complete Refresh ) durchgeführt. 3.2.3 Multimaster und Materialized View Hybrid - Replikation In Oracle 10g gibt es die Möglichkeit Multimaster und Materialized View Replikation zu kombinieren. Dies ist sicherlich ein in der Praxis häufig anzutreffendes Vorgehen, da es die Vorteile beider Replikationsstrategien kombiniert ohne nennenswerte Nachteile zu generieren. Abbildung 5: Oracle: Hybrid Configuration Replikation - (Ora07a, Seite 1-10) 13

Literatur [KE04] Kemper, Alfons und André Eickler: Datenbanksysteme - Eine Einführung, Kapitel Verteilte Datenbanken, Seiten 443 478. Oldenbourg, München, 5., aktualisierte und erweiterte Auflage, 2004. [Kud07] Kudraß, Thomas (Herausgeber): Taschenbuch Datenbanken, Kapitel Verteilte und förderierte Datenbanksysteme, Seiten 394 426. Hanser, München, 2007. [MyS08] MySQL AB: MySQL 5.1 Referenzhandbuch, 2008. [Ora07a] Oracle: Oracle Database Advanced Replication 10g Release 2 (10.2) - Part Number B14226-02, 2007. [Ora07b] Oracle: Oracle Database Advanced Replication Management API Reference 10g Release 2 (10.2) - Part Number B14227-02, 2007. [Pet06] Petković, Dušan: SQL Server 2005 - Eine umfassende Einführung, Kapitel Datenreplikation, Seiten 485 499. dpunkt.verlag, Heidelberg, 1. Auflage, 2006. [Pos08] The PostgreSQL Global Development Group: PostgreSQL 8.3.1 Documentation, 2008. [SKS02] Silberschatz, Abraham, Henry F. Korth und S. Sudarshan: Database System Concepts. McGraw Hill, New York, 4. Auflage, 2002. 14