7. Replizierte Datenbanken Einführung (Replikationsstrategien) Update-Strategien bei strenger Konsistenz



Ähnliche Dokumente
7. Replizierte Datenbanken Einführung (Replikationsstrategien) Update-Strategien bei strenger Konsistenz

Server: Vice nach Tanenbaum, van Steen

Datensicherheit und Hochverfügbarkeit

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

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

dpa-infocom - Datenlieferung

TAV Übung 3. Übung 3: Verteilte Datenhaltung

peer-to-peer Dateisystem Synchronisation

OP-LOG

Man liest sich: POP3/IMAP

Updatehinweise für die Version forma 5.5.5

Options- und Freitext-Modul Update-Anleitung

Replikation in Datenbanken

Übungen zur Vorlesung. Datenbanken I

Avira Management Console Optimierung für großes Netzwerk. Kurzanleitung

5.1 Verteilung von Aktualisierungshinweisen

SJ OFFICE - Update 3.0

Datenbankadministration

Systemvoraussetzungen winvs office winvs advisor

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

3. Stud.IP-Entwickler-Workshop 2. Juni 2006 Workshop 3c: Stud.IP-Enterprise-Edition André Noack, Frank Elsner

Replikation und Synchronisation. in mobilen Datenbanksystemen

Installationsbeschreibung Flottenmanager 7.1

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

IT-Symposium /20/2004. Ralf Durben. Business Unit Datenbank. ORACLE Deutschland GmbH. 1

HOWTO Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8

Rollen von Domänencontrollern (DC s) Tag 04/00 - Thomas Fakler

Storage as a Service im DataCenter

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

Datenbanken. Prof. Dr. Bernhard Schiefer.

Kapitel 8 Verteilte Datenbanken

OCTOPUS Appointment System von ADCOTEL -- System Architektur Version 1.1 vom Adcotel GmbH. I. Übersicht

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta!

PostgreSQL in großen Installationen

Datenabgleich zwischen Hauptfiliale (Firmennetzwerk) und Nebenfiliale (Notebook)

Synchronisation in Datenbanksystemen in a nutshell

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Verteilte Systeme - 5. Übung

Synchronisation von redundanten Datenbeständen

Datenübernahme easyjob 3.0 zu easyjob 4.0

Paul Petzold Firmengründer, Verwaltungsratspräsident und Delegierter der Mirus Software AG

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

Grundlagen verteilter Systeme

Praktikum Ingenieurinformatik (PI)

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

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

View. Arbeiten mit den Sichten:

Installationsanleitung. Novaline Datenarchivierung / GDPdU

DataBackup / DataReplication

Verfügbarkeit von Applikationen und Failover Szenarien. Winfried Wojtenek.

Index- und Zugriffsstrukturen für. Holger Brämer, 05IND-P

1 Installation QTrans V2.0 unter Windows NT4

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

Kapitel 14 Verteilte DBMS

Installation / Aktualisierung von Druckertreibern unter Windows 7

Verteilte Systeme SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 7.

Sichere Daten mit OSL Storage Cluster

OPERATIONEN AUF EINER DATENBANK

Oracle Datenbank - Recovery

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Einsatz von Replikation. Florian Munz

Internet online Update (Internet Explorer)

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Datenbankstammtisch. Replikation in heterogenen Datenbankumgebungen am Beispiel des Sybase Replication Servers. 1. Februar 2006

Installationshilfe VisKalk V5

Applikationsvirtualisierung in der Praxis. Vortrag an der IHK Südlicher Oberrhein, Freiburg Thomas Stöcklin / 2007 thomas.stoecklin@gmx.

Transaction Validation for XML Documents based on XPath

Mercurial. or how I learned to stop worrying and love the merge. Ted Naleid IAIK

12. Dokumente Speichern und Drucken

Recovery- und Buffermanager

IEEE 802.1x Authentifizierung. IEEE 802.1x Authentifizierung IACBOX.COM. Version Deutsch

Verlust von Unternehmensdaten?

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Versionsverwaltung mit SVN

Datenbanken: Backup und Recovery

Powermanager Server- Client- Installation

Upgrade-Leitfaden. Apparo Fast Edit 1 / 7

SharePoint Demonstration

Seminar Prozessunterstützung und Verlässlichkeit im Healthcare-Bereich - SS 2005

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch

Moodle aktuell halten mit Git

Adressen der BA Leipzig

1.3 MDM-Systeme KAPITEL 1 ZAHLEN UND FAKTEN

Hochverfügbare Virtualisierung mit Open Source

Digitale Lastenhefte - Austausch von Dokumenten

iphone app - Anwesenheit

Speicher in der Cloud

Optimierung von Ausdrucken im SAP-Umfeld unter Einsatz von MS Office Funktionen

all media Publikationssysteme Entwicklung und Integration

Im Kapitel Resourc Manager werden die verschiedenen Möglichkeiten der Überwachung von Messwerten eines Server oder Benutzers erläutert.

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Umstieg auf Microsoft Exchange in der Fakultät 02

GSM: Airgap Update. Inhalt. Einleitung

... Kontrolldatei administrieren

Windows 8/8.1 RecImg-Manager

Installieren Sie den Janaserver auf dem Schulserver oder dem Lehrerrechner.

IBM SPSS Data Access Pack Installationsanweisung für Windows

repostor möchte Ihre TCO senken

Transkript:

7. Replizierte Datenbanken Einführung (Replikationsstrategien) Update-Strategien bei strenger Konsistenz ROWA-Verfahren / 2PC Voting-Verfahren Schwächere Formen der Datenreplikation Refresh-Alternativen Primary-Copy-Verfahren Schnappschuß-Replikation Merge-Replikation Replikationsansätze in kommerziellen DBS Katastrophen-Recovery Datenreplikation in Parallelen DBS Verstreute Replikation Verkettete Replikation 7-1 Replikate in Verteilten DBS A R1 (Berlin) R2 (Frankfurt) A B R3 (Leipzig) Vorteile erhöhte Verfügbarkeit der Daten Beschleunigung von Lesezugriffen (bessere Antwortzeiten, Kommunikationseinsparungen) erhöhte Möglichkeiten zur Lastbalancierung / Query-Optimierung Nachteile hoher Update-Aufwand erhöhter Speicherplatzbedarf erhöhte Systemkomplexität B 7-2

Replikation: Anwendungsmöglichkeiten Verteilte und Parallele DBS replizierte DB-Tabellen / -Fragmente replizierte Katalogdaten (Metadaten) Web: replizierte Daten und Metadaten für schnelles Lesen und Verfügbarkeit (Mirror Sites, Suchmaschinen, Portale) Katastrophen-Recovery DB DB Data Warehousing Übernahme transformierter Daten in eigene Datenbank für Entscheidungsunterstützung DB 1 DB 2 DBn DB Data Warehouse Mobile Computing Datenbank-Ausschnitte, Dateien... auf Notebook, PDA etc. 7-3 DB DB 1 DB 2 DB n Zielkonflikte der Replikationskontrolle Erhaltung der Datenkonsistenz - Kopien wechselseitig konsistent zu halten: 1-Kopien-Äquivalenz - kleine Kopienzahl Zielkonflikte der Replikationskontrolle Erhöhung der Verfügbarkeit, effizienter Lesezugriff - große Kopienzahl - Zugriff auf beliebige und möglichst wenige Kopien Minimierung des Änderungsaufwands - kleine Kopienzahl - möglichst wenige Kopien synchron aktualisieren 7-4

Replikationsstrategien (1) Korrektheitskriterium / Synchronisation 1-Kopien-Äquivalenz: vollständige Replikationstransparenz: jeder Zugriff liefert jüngsten transaktionskonsistenten Objektzustand alle Replikate sind wechselseitig konsistent Serialisierung von Änderungen geringere Konsistenzanforderungen Zugriff auf ältere Objektversionen evtl. keine strikte Serialisierung von Änderungen, sondern parallele Änderungen mit nachträglicher Konflikt-Behebung 7-5 Replikationsstrategien (2) symmetrische vs. asymmetrische Konfigurationen symmetrisch: jedes Replikat gleichartig bezüglich Lese- und Schreibzugriffen; n Knoten können Objekt ändern asymmetrisch (Master/Slave, Publish/Subsribe-Ansätze) - Änderungen eines Objekts an 1 Knoten (Master, Publisher, Primärkopie) - Lesen an n Knoten (Slave, Subscriber, Sekundärkopien) Kombinationen (z.b. Multi-Master-Ansätze) Zeitpunkt der Aktualisierung: synchron oder asynchron synchron (eager): alle Kopien werden durch Änderungstransaktion aktualisiert asynchron (lazy): verzögertes Aktualisieren (Refresh) 7-6

Grobklassifikation Replikationsstrategien Korrektheitsziel strenge Konsistenz (1-Kopien-Serialisierbarkeit) schwache Konsistenz (weak consistency) Refresh-Zeitpunkt synchron (eager) asynchron (lazy) Asynchron (lazy) #Änderer (Masters) pro Objekt n 1 n 1 Beispiel- Strategien - ROWA (2PC) - Voting - Primary Copy (mit Lesen aktueller Daten) - Merge-Replikation ( Update Anywhere ) - Primary Copy mit Lesen veralteter Daten - Schnappschuß- Replikation - Standby-Replikation 7-7 Write-All/Read-Any-Strategie (Read-One/Write-All, ROWA) bevorzugte Behandlung von Lesezugriffen Lesen eines beliebigen (lokalen) Replikats hohe Verfügbarkeit für Leser sehr hohe Kosten für Änderungstransaktionen Schreibsperren bei allen Rechnern anfordern Propagierung der Änderungen im Rahmen des Commit-Protokolls (2PC) Verfügbarkeitsproblem: Änderungen von Verfügbarkeit aller kopienhaltenden Knoten abhängig Sei P die mittlere Wahrscheinlichkeit, daß ein Knoten verfügbar ist Bei N Kopien beträgt die Wahrscheinlichkeit, daß geschrieben werden kann: P N Wahrscheinlichkeit, daß gelesen werden kann: 1 (1 P) N 7-8

Write All Available ROWA-Variante, bei der nur verfügbare Replikate geändert werden für ausgefallene Rechner werden Änderungen bei Wiederanlauf nachgefahren funktioniert nicht bei Netzwerk-Partitionierungen 7-9 Mehrheits-Votieren (Majority Voting) Lesen oder Schreiben eines Objektes verlangt Zugriff auf Mehrheit der Replikate jedes Replikat kann gleichzeitig von mehreren Transaktionen gelesen, jedoch nur von einer Transaktion geändert werden Bestimmung der aktuellsten Version z. B. über Änderungszähler Fehlerfall: Fortsetzung der Verarbeitung möglich, solange Mehrheit der Replikate noch erreichbar hohe Kommunikationskosten für Lese- und Schreibzugriffe ungeeignet für N=2 ( Read All, Write All ) A 17 R1 R2 A 17 R3 A 17 7-10

Gewichtetes Votieren (Quorum Consensus) jede Kopie erhält bestimmte Anzahl von Stimmen (votes) Protokoll: Lesen erfordert R Stimmen (Read-Quorum) Schreiben erfordert W Stimmen (Write-Quorum) R + W > V (= Summe aller Stimmen) W > V/2 Eigenschaften: gleichzeitiges Lesen und Schreiben nicht möglich jeder Zugriff auf R (W) Kopien enthält wenigstens 1 aktuelle Kopie Festlegung von V, R und W erlaubt Trade-Off zwischen Lese- und Schreibkosten sowie zwischen Leistung und Verfügbarkeit R V W 7-11 Gewichtetes Votieren (2) andere Verfahren ergeben sich als Spezialfälle Beispiel : 3 Kopien mit jeweils 1 Stimme (V=3) ROWA: Majority Voting (Consensus): 7-12

Schwächere Replikationsformen gravierende Probleme bei vollständiger Replikationstransparenz hohe Änderungskosten bei synchroner Propagierung von Änderungen Verfügbarkeitsprobleme (besonders bei geographischer Verteilung) geringe Skalierbarkeit! nicht anwendbar für mobile Replikate (meist offline) DBS-Hersteller (Oracle, IBM, MS) unterstützen schwächere Konsistenzformen mit asynchroner Aktualisierung der Kopien Schnappschuß-Replikation "fast" aktuelle Kopien, z.b. für Unterstützung einer schnellen Katastrophen-Recovery bei n Änderungsknoten pro Objekt ( Update Anywhere ): asynchrones Refresh führt zu Konsistenzproblemen anwendungsspezifische Konflikt-Behebung (Merge-Replikation) 7-13 Refresh-Alternativen baldmögliche Weiterleitung (ASAP) nach Commit der Änderungstransaktion oder verzögert (Timer, #Änderungen) Verzögerungsdauer: Aktualität vs. Overhead Push- vs. Pull-Replikation Push: Notifikation von Änderungen durch Master / Publisher Pull: Probing durch Slave/Subsriber (z. B. mobiles Endgerät) einfache Replikate (Kopien) vs. abgeleitete Replikation (Ergebnisse einer SQL-Operation) vollständige vs. inkrementelle Aktualisierung von Replikaten Übertragung der Objektkopien / Werte Verwendung von Triggern Übertragung der Log-Daten sequentielle vs. parallele Aktualisierung (1 vs. n Änderungsströme) 7-14

Primärkopien-Verfahren asymmetrisches Verfahren 1 Primärkopie (primary copy): publisher n Sekundärkopien pro Objekt: subscriber Bearbeitung von Schreib- und Lesesperren beim Primärkopien- Rechner synchrone Änderungen nur für Primärkopie verzögerte/asynchrone Aktualisierungen der Sekundärkopien in der selben Commit-Reihenfolge wie bei Primärkopien-Rechner Verwendung von Sequenz-Nummern A B R1 R3 B A C B R2 Die Primärkopien verschiedener Objekte können auf verschiedenen Rechnern liegen A C 7-15 R1: Primärkopien t=0 A1: 0 B1: 0 C1: 0 Beispiel T1: A 1; B 1; T2: B 2; T3: C 3; R2: Sekundärkopien A2: 0 B2: 0 C2: 0 t=1 A1: 1 B1: 1 C1: 3 Ausführung T1 und T3 an R1; Sperrkonflikt für T2 A2: 0 B2: 0 C2: 0 7-16

t=2 Beispiel (2) R1: Primary R2 A1: 1 B1: 2 C1: 3 Commit T3 und T1; Ausführung T2 an R1; Aktualisierung an R2 #1: C 3 #2: A 1; B 1 A2: 1 B2: 1 C2: 3 t=3 A1: 1 B1: 2 C1: 3 Commit T2 Aktualisierung an R2 #3: B 2 A2: 1 B2: 2 C2: 3 7-17 Primärkopien-Verfahren: Lesezugriffe Mehrere Alternativen Sperren und Lesen der Primärkopie Aktuelle Daten Replikation wird nicht genutzt! Lokale Kopie lesen ohne Sperre effizient lokale Kopie kann leicht veraltet sein (keine 1-Kopien-Serialisierbarkeit) Lesesperre beim Primärkopien-Rechner + Lesen einer aktuellen (lokalen) Kopie z.b. Test über Versionsnummer bei Primärkopien-Rechner Strenge Konsistenz, jedoch geringe Kommunikationseinsparung 7-18

Primärkopien-Verfahren: Fehlerbehandlung Netzwerk-Partitionierung: nur in Partition mit Primärkopie können weiterhin Änderungen erfolgen Ausfall des Primary-Copy-Rechners verhindert weitere Schreibzugriffe bis zu dessen Recovery Alternative: Bestimmung eines neuen Primary-Copy- Rechners bei Netzwerk-Partitionierungen darf höchstens in einer Partition Verarbeitung fortgesetzt werden (z.b. wo Mehrzahl der Kopien vorliegt) neuer PC-Rechner muß zunächst seine Kopien auf den neuesten Stand bringen ("pending updates") 7-19 Schnappschuß-Replikation Erzeugung einer materialisierten Sicht zur Nutzung an anderen Rechnern Beispiel: CREATE SNAPSHOT CS-BOOKS AS SELECT * FROM BOOKS WHERE TOPIC=7 REFRESHED EVERY MONTH; Merkmale Schnappschuß meist nicht auf dem neuesten Stand (-> reduzierter Änderungsaufwand) i.a. nur lesender Zugriff (-> keine Synchronisationskonflikte auf Kopien) Replikation für Benutzer i.a. nicht transparent 7-20

Schnappschuß-Replikation (2) Aktualisierung der Kopie (Refresh) periodisch (täglich, monatlich, etc.) explizit auf Anforderung: REFRESH SNAPSHOT CS_BOOKS Refresh-Optionen in Oracle (für Materialized Views) Refresh Type: Complete, Fast (incremental), Force (system-determined) Refresh Interval: on demand, on commit, automatically on, never zahlreiche Anwendungsmöglichkeiten besonders geeignet für Datennutzung auf mobilen Geräten 7-21 Merge-Replikation unsynchronisierte Änderung eines replizierten Objekts an mehreren Knoten (Multi-Master) mit asynchroner Propagierung der Änderungen Performance- und Verfügbarkeitsvorteile gegenüber synchroner Aktualisierung unabdingbar für mobile DB-Nutzung mit Änderungsbedarf (z.b. Außendienst-Mitarbeiter) Eintragung neuer Kunden / Aufträge (geringe Konfliktgefahr) Probleme: nachträgliche Konflikt-Behandlung Mischen paralleler Änderungen (Merge-Replikation) 7-22

Beispiel für Änderungskonflikt bei unabhängiger Änderung Kopie 1 Primary Kopie 2 Initial X=0 T1: X=1 Initial X=0 Initial X=0 T2: X=2 Send (X=1) X=1 Send (X=2) Send (X=1) X=2 Send (X=2) X=2 X=1 Kopien enden in unterschiedlichen Zuständen 7-23 Merge-Replikation (2) Konfliktmöglichkeiten für Update Insert (z. B. Eindeutigkeit) Delete Konflikterkennung Objektänderungen enthalten Zeitstempel v der Vorgängerversion und neuen Wert Konflikt: falls lokaler Zeitstempel einer zu aktualisierenden Objektversion abweicht von v Konfliktwahrscheinlichkeit wächst mit Anzahl der änderbaren Replikate und Aktualisierungsverzögerung anwendungsspezifische Konflikt-Behandlung (reconciliation) vordefinierte Strategien in ex. DBS: last timestamp wins, site priority, average... benutzerdefinierte Konfliktauflösungsroutinen oder manuelle Konfliktbehebung Gefahr von lost updates und anderen Anomalien (keine Serialisierbarkeit) 7-24

Einfache Zeitstempelnutzung Kopie 1 T1: read X=0 (TS=0) T1: X=1, TS=1 Send (X=1, TS=1) X=2, TS=2 Primary Initial X=0,TS=0 X=1, TS=1 Send (X=1, TS=1) X=2, TS=2 Send (X=2, TS=2) Kopie 2 T2: read X=0 (TS=0) T2: X=2, TS=2 Send (X=2, TS=2) X=1,TS=1 Kopien enden in gleichem Zustand, jedoch hat weder T1 noch T2 das Ergebnis der anderen Transaktion gesehen (nicht serialisierbar) 7-25 Replikation in MS SQL-Server 3 Varianten mit asynchroner Aktualisierung: Snapshot, Transactional Replication, Merge Replication Snapshot Replication Immediate vs. Queued Updating Transactional Replication inkrementelle Aktualisierung durch transaktionsweise Übertragung und Anwendung von Log-Daten Bi-directional vs. Peer-to-Peer Spezialfälle: 1 Publisher / n Subscriber vs. n Publisher / 1 Subscriber (Außendienst-Mitarbeiter - Zentrale) Merge Replication: mehrere Änderer pro Replikat Einsatz von Triggern zur Propagierung von Änderungen benutzerdefinierte Konfliktauflösungsstrategien (GUI-basiert) Literatur. http://msdn.microsoft.com/de-de/library/ms151198.aspx - S. Paul: Pro SQL Server 2008 Replication, Apex 2009 7 26

Replikation in Oracle Materialized View Replication (Master View ) Multimaster Replication Hybrid Master Site Master Site Master Site Mview Site Literatur. http://www.orafaq.com/wiki/replication 7-27 Replikation in DB2 Konfigurationen mit 1 oder n Master-Knoten Bidirektionale und Peer-to-Peer-artige Änderungspropagierung Log-basierter Austausch von Änderungen Nutzerdefinierte Konfliktbehandlung bei Merge-Replikation über Trigger Konfigurierung über Replication Center Literatur: http://www.redbooks.ibm.com/redbooks/pdfs/sg246828.pdf 7-28

Katastrophen-Recovery Traditionell: Zurückgehen auf Archivkopie Verlust vieler Transaktionen falls aktuelle Log-Daten seit Erstellung der Archivkopie verloren gehen zeitaufwendiges Einspielen der Archivkopie Remote Logging: Übertragung der Log-Daten an entferntes Rechenzentrum Alternative für hohe Verfügbarkeit: zwei räumlich entfernte Rechenzentren mit replizierter Datenbank Replikationswartung gemäß Primary-Copy-Verfahren (Primärund Sekundärkopien) Zwei gleichberechtigte (aktive) Rechenzentren vs. Stand-By- Betrieb 7-29 Katastrophen-Recovery (2) Primary Log Backup Passives Stand-By-System (Hot Stand-By) Änderungen erfolgen nur im Primärsystem Kopie dient als Stand-By bzw. wird nur für Queries genutzt (Entlastung des Primärsystems) Redo-Log-Daten werden ständig zum Backup-System übertragen und DB- Kopie wird nachgefahren bei asynchroner Übertragung gehen höchstens einige wenige Transaktionen im Kastastrophenfall verloren für "wichtige" Transaktionen: synchrone Übertragung der Log-Daten (Commit- Verzögerung bis entfernte DB aktualisiert ist) 7-30

SQL-Server Database Mirroring Application Witness Principal Commit Mirror 1 5 SQL Server 2 SQL Server 2 >2 4 3 >3 Log Data Log Data Quelle: Microsoft Corp. 7-31 Katastrophen-Recovery: Sicherheitsstufen 1-sicher (1-safe) lokales Commit am Primary asynchrone Übertragung der Änderungen an Backup 2-sicher (2-safe) synchrone Aktualisierung des Backup Kommunikation in Commit-Phase 1 "sehr sicher" 2PC zwischen Primary und Backup beide Knoten müssen Commit zustimmen => keine Verarbeitung bei Backup-Fehler! 7-32

Katastrophen-Recovery (4) gemeinsame Unterstützung von 1-sicheren und 2-sicheren Transaktionen wünschenswert Abhängigkeiten bei DB-Rekonstruktion zu beachten Probleme bei mehreren Log-Strömen zwischen Primary und Backup Primary T1 1-sicher x->x T2 2-sicher x ->x Backup: 7-33 Replikation in Parallelen DBS replizierte Zuordnung von Fragmenten im Rahmen der Datenallokation Ziele einer Replikation Fehlertoleranz gegenüber Externspeicherfehlern Fehlertoleranz gegenüber Rechnerausfällen günstige Lastbalancierung im Normalbetrieb und Fehlerfall Lokalität und Knotenautonomie weniger/nicht relevant i.a. synchrone (parallele) Aktualisierung der Replikate Drei Replikationsansätze mit doppelter Speicherung der Daten Spiegelplatten Verstreute Replikation (NCR Teradata) Verkettete Replikation (Gamma-Prototyp) 7-34

Spiegelplatten weitverbreitet zur Maskierung von Plattenfehlern verbesserte Lese-Performanz Shared Nothing: Replikation auf einen Knoten beschränkt Rechner R1 Rechner R2 P1 P1 P2 P2 Rechnerausfall erfordert Übernahme der kompletten Partition durch zweiten Rechner => sehr ungünstige Lastbalancierung im Fehlerfall Plattenpaar mit Partition P1 7-35 Plattenpaar mit Partition P2 Verstreute Replikation (Interleaved Declustering) Ziel: bessere Lastbalancierung im Fehlerfall Datenknoten einer Relation werden in Gruppen von je G Rechnern unterteilt (node groups) Replikate zu Daten eines Rechners werden gleichmäßig unter den G-1 anderen Rechnern der Gruppe verteilt nach Crash erhöht sich Last jedes überlebenden Rechners der Gruppe gleichmäßig um Faktor G/G-1 R1 R2 R3 R4 Beispiel (D=G=4) D1 D5 D9 D2 D6 D10 D3 D7 D11 D4 D8 D12 D2 D3 D4 D1 D7 D8 D5 D6 D12 D9 D10 D11 7-36

Verstreute Replikation (2) Ausfall mehrerer Rechner beeinträchtigt Datenverfügbarkeit nicht, sofern verschiedene Gruppen betroffen sind Wahl von G erlaubt Kompromiß zwischen Verfügbarkeit und Lastbalancierung Extremfälle: G=D (= Verteilgrad der Relation) und G=2 (Spiegelplatten) Nutzung der Replikate zur Lastbalancierung im Normalbetrieb aufwendig 7-37 Verkettete Replikation (Chained Declustering) Ziele: hohe Verfügbarkeit von Spiegelplatten + günstige Lastbalancierung (im Fehlerfall) der verstreuten Replikation Kopie der Partition von Rechner R i wird vollständig am "nächsten" Rechner R (i MOD G) + 1 der Gruppe gehalten selbst Mehrfachausfälle in einer Gruppe erhalten die Verfügbarkeit aller Daten, so lange nicht zwei benachbarte Rechner ausfallen R1 R2 R3 R4 P1 P2 P3 P4 P4 P1 P2 P3 7-38

Verkettete Replikation (2) Knotenausfall: Zugriffe auf betroffener Partition sind vollständig vom "nächsten" Rechner der Gruppe auszuführen Zugriffe auf den anderen Partitionen sind unter den beiden Kopien umzuverteilen, so daß Lastbalancierung erreicht wird keine Umverteilung von Daten, sondern nur Anpassung der Verteilungsinformationen R1 R2 R3 R4 P1 P2 1/3 P3 2/3 P4 1/3 P4 P1 P2 2/3 P3 7-39 Zusammenfassung Zielkonflikte: Leistung vs. Verfügbarkeit für Leser vs. Schreiber / Konsistenzanforderungen Synchronisationsansätze: ROWA, Voting, Primary Copy Probleme bei 1-Kopien-Serialisierbarkeit synchrone Aktualisierung ist aufwändig (Commit-Protokoll) geringe Skalierbarkeit kommerzielle DBS unterstützen unterschiedl.replikationsmodelle Publish/Subscribe-Ansätze, Primärkopien vs. Update Anywhere synchrone oder verzögerte Übertragung von Änderungen einfache Kopien und abgeleitete (transformierte) Replikate parallele Änderungen mit Nutzerkontrolle (Merge-Replikation) Parallele DBS: Duplizierung mit synchroner (paralleler) Aktualisierung zahlreiche Anwendungsmöglichkeiten Katastrophen-Recovery, mobile Endgeräten, Data Warehousing... 7-40