90 likes | 218 Views
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?
E N D
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)