Replikation und Synchronisation
Replikation und Synchronisation. Replikation und Synchronisation Gliederung. Motivation Replikation Synchronisation Klassische Verfahren Neue mobile Verfahren SyncML (Synchronization Markup Language) Zusammenfassung. 1. Motivation. Was ist Replikation?
Replikation und Synchronisation
E N D
Presentation Transcript
Replikation und SynchronisationGliederung • Motivation • Replikation • Synchronisation • Klassische Verfahren • Neue mobile Verfahren • SyncML (Synchronization Markup Language) • Zusammenfassung
1. Motivation • Was ist Replikation? • Ziel: Daten sollen in Offline-Phasen unabhängig auf einem Client bearbeitet werden können • Replikation bezeichnet das Anlegen einer Kopie und damit die Einführung von Datenredundanz • Daten werden dadurch auf mobilen Clients verfügbaroft auch nur Teile (Selektion, Projektion) der urspüngl. Relation(-> Nachforderungen, schwieriger Wiederabgleich) Projektion Relation Selektion
Motivation • Was ist Synchronisation? • Auf den Clients geänderte Daten sollen wieder auf den Server rückübertragen werden • Probleme entstehen, wenn auch dort die Daten zwischenzeitlich geändert wurden • Ziel: Datenkonsistenz innerhalb einer Replikationsumgebung, da Inkonsistenzen zu schwerwiegenden Fehlern führen können • Bei der Synchronisation werden die geänderten Daten nach bestimmten Verfahren (meistens konventionell, zeitstempelbasiert oder semantisch) abgeglichen Replikation und Synchronisation sind wichtige Grundlagen für Offline-Szenarien
2Replikation2.1Ursprung • Ursprung der Replikation: • Ursprung in den verteilten Systemen und in den verteilten Datenbanksystemen • Verteilte, nichtreplizierende (DB-)Systeme sind wesentlich anfälliger für Ausfälle im Gegensatz zu zentralistisch ausgelegten Systemen • Um Ausfall von einem Knoten zu kompensieren, werden wichtige Daten redundant auf mehreren Knoten abgespeichert • Auch Daten mit hohen Zugriffsraten werden auf mehrere Knoten verteilt • Alle Knoten die replizierte Daten enthalten bilden zusammen dieReplikationsumgebung
2.2 Vorteile von Replikation • Vorteile: • Höhere Verfügbarkeit durch Verteilung der Daten auf mehrere Knoten • Niedrigere Kommunikationskosten • Bessere Performanz durch lokalen Zugriff • Ermöglicht Lastverteilung (Zugriff auf Knoten mit geringster Last) • Vorbeugung gegenüber Datenverlust • Replikation ist Grundlage für das Arbeiten mit Clients, die sich im Disconnected Mode befinden Suche nach intelligenten Verfahren zur Auswahl der zu replizierenden Daten
2.3 Was ist ein Replikat? • Definition • Ein Replikat ist eine Kopie, also eine redundante Speicherung eines bereits existierenden Datenelements • Datenelement kann ein Tupel, eine Relation, Teile einer Relation oder eine ganze Datenpartition sein • Per se gibt es kein Originalelement, dieses kann aber bei Bedarf festgelegt werden • Es können beliebig viele Kopien existieren
2.4 Zentrale Strategien beim Einsatzder Replikation Übersicht: • Kopie-Update-Strategien • Fehlerbehandlungs-Strategien • Synchronisations-Strategien konkurrierender Zugriffe • Konsistenz-Strategien bei Lesetransaktionen
Zentrale Strategien beim Einsatzder Replikation • Kopie-Update-Strategien: • Datenoperationen werden auf einem einzelnen Replikat ausgeführt • Die daraus resultierenden Änderungen werden auf 2 verschiedene Arten an die anderen Kopien weitergegeben • Wenn alle Replikate gleichzeitig aktualisiert werden, spricht man von Eager Replication • Wenn die Änderung asynchron an die anderen Replikate weitergegeben wird, spricht man von Lazy Replication • Die Erlaubnis zur Änderung ist oft an spezifische Bedingungen geknüpft und hängt oft von den anderen Kopien des Replikats ab (z.B. Quorum-Verfahren)