replikationsarchitekturen informationsverwaltung von netzen sommersemester 2003 konrad kretschmer...
TRANSCRIPT
ReplikationsarchitekturenInformationsverwaltung von Netzen
Sommersemester 2003
Konrad Kretschmer([email protected])
Inhalt
1/29
Inhalt
• Hintergrund
1/29
Inhalt
• Hintergrund- Optimistische Replikation- Datensynchronisation- Selektive Replikation
1/29
Inhalt
• Hintergrund
• RUMOR
- Optimistische Replikation- Datensynchronisation- Selektive Replikation
1/29
Inhalt
• Hintergrund
• RUMOR
- Optimistische Replikation- Datensynchronisation- Selektive Replikation
- Gossip- Versionsvektoren- Adaptive Ringe- Garbage Collection
1/29
Inhalt
• Hintergrund
• RUMOR
• ROAM
- Optimistische Replikation- Datensynchronisation- Selektive Replikation
- Gerüchteverkehr- Versionsvektoren- Adaptive Ringe- Abfallbeseitigung
1/29
Inhalt
• Hintergrund
• RUMOR
• ROAM
- Optimistische Replikation- Datensynchronisation- Selektive Replikation
- Gerüchteverkehr- Versionsvektoren- Adaptive Ringe- Abfallbeseitigung
- Das WARD-Modell- Das erweiterte WARD-Modell
1/29
Hintergrund
2/29
Optimistische Replikation
Hintergrund
2/29
Optimistische Replikation
Hintergrund
2/29
Problem: Versionskonflikte in verteilten Systemen
Optimistische Replikation
Hintergrund
2/29
Problem: Versionskonflikte in verteilten Systemen
Konservative Algorithmen: Sperrung von DateienGeeignet für Client-Server-Architekturen
Nachteil: Geringe Verfügbarkeit
Optimistische Replikation
Hintergrund
2/29
Problem: Versionskonflikte in verteilten Systemen
Konservative Algorithmen: Sperrung von DateienGeeignet für Client-Server-Architekturen
Nachteil: Geringe Verfügbarkeit
Optimistische Algorithmen: Das Problem wird ignoriert. Versionskonflikte werden gelöst.
Geeignet für P2P-NetzwerkeNachteil: Versionskonflikte müssen erkannt werden.
Datensynchronisation
Hintergrund
3/29
Informationen über die Datenbestände müssen an alle Teilnehmer geleitet werden.
Datensynchronisation
Hintergrund
3/29
Informationen über die Datenbestände müssen an alle Teilnehmer geleitet werden.
Sofortige Benachrichtigung
Datensynchronisation
Hintergrund
3/29
Informationen über die Datenbestände müssen an alle Teilnehmer geleitet werden.
Sofortige BenachrichtigungKontaktierung eines anderen Teilnehmers bei Änderung der Daten.
Datensynchronisation
Hintergrund
3/29
Informationen über die Datenbestände müssen an alle Teilnehmer geleitet werden.
Sofortige BenachrichtigungKontaktierung eines anderen Teilnehmers bei Änderung der Daten. Vorteile: - Das Netz ist schnell auf dem aktuellen Stand.
Datensynchronisation
Hintergrund
3/29
Informationen über die Datenbestände müssen an alle Teilnehmer geleitet werden.
Sofortige BenachrichtigungKontaktierung eines anderen Teilnehmers bei Änderung der Daten. Vorteile: - Das Netz ist schnell auf dem aktuellen Stand. - Versionskonflikte treten selten auf.
Datensynchronisation
Hintergrund
3/29
Informationen über die Datenbestände müssen an alle Teilnehmer geleitet werden.
Sofortige BenachrichtigungKontaktierung eines anderen Teilnehmers bei Änderung der Daten. Vorteile: - Das Netz ist schnell auf dem aktuellen Stand. - Versionskonflikte treten selten auf.Nachteile: - Oft irrelevante Aktualisierungen
Datensynchronisation
Hintergrund
3/29
Informationen über die Datenbestände müssen an alle Teilnehmer geleitet werden.
Sofortige BenachrichtigungKontaktierung eines anderen Teilnehmers bei Änderung der Daten. Vorteile: - Das Netz ist schnell auf dem aktuellen Stand. - Versionskonflikte treten selten auf.Nachteile: - Oft irrelevante Aktualisierungen
- Viele Verbindungen zum Netzwerk
Datensynchronisation
Hintergrund
3/29
Informationen über die Datenbestände müssen an alle Teilnehmer geleitet werden.
Sofortige BenachrichtigungKontaktierung eines anderen Teilnehmers bei Änderung der Daten. Vorteile: - Das Netz ist schnell auf dem aktuellen Stand. - Versionskonflikte treten selten auf.Nachteile: - Oft irrelevante Aktualisierungen
- Viele Verbindungen zum Netzwerk - Verbindungen evtl. zu ungünstigen Konditionen
Datensynchronisation
Hintergrund
4/29
Periodischer Abgleich
Datensynchronisation
Hintergrund
4/29
Periodischer AbgleichInformationen über Änderungen zueinem günstigen Zeitpunkt
übertragen.
Datensynchronisation
Hintergrund
4/29
Periodischer AbgleichInformationen über Änderungen zueinem günstigen Zeitpunkt
übertragen.Vorteile: - Verbindungen zum Netzwerk treten seltener auf.
Datensynchronisation
Hintergrund
4/29
Periodischer AbgleichInformationen über Änderungen zueinem günstigen Zeitpunkt
übertragen.Vorteile: - Verbindungen zum Netzwerk treten seltener auf.
- Keine Verbindungen zum Netzwerk unter schlechten Konditionen.
Datensynchronisation
Hintergrund
4/29
Periodischer AbgleichInformationen über Änderungen zueinem günstigen Zeitpunkt
übertragen.Vorteile: - Verbindungen zum Netzwerk treten seltener auf.
- Keine Verbindungen zum Netzwerk unter schlechten Konditionen.
Nachteile: - Das Netzwerk ist seltener auf dem aktuellen Stand.
Datensynchronisation
Hintergrund
4/29
Periodischer AbgleichInformationen über Änderungen zueinem günstigen Zeitpunkt
übertragen.Vorteile: - Verbindungen zum Netzwerk treten seltener auf.
- Keine Verbindungen zum Netzwerk unter schlechten Konditionen.
Nachteile: - Das Netzwerk ist seltener auf dem aktuellen Stand. - Versionskonflikte treten häufiger auf.
Selektive Replikation
Hintergrund
5/29
Abgleich in feinerer als der Grundgranularität.
Selektive Replikation
Hintergrund
5/29
Abgleich in feinerer als der Grundgranularität.
- Verringert unnötigen Datentransfer
Selektive Replikation
Hintergrund
5/29
Abgleich in feinerer als der Grundgranularität.
- Verringert unnötigen Datentransfer- Benötigt größeren Verwaltungsaufwand
FICUS
Hintergrund
6/29
- Entwickelt 1990- Reines P2P-System- Optimistische Replikation- Arbeitet auf Volume-Ebene- Sofortige Benachrichtigung und Periodischer Abgleich.
FICUS
Hintergrund
6/29
- Entwickelt 1990- Reines P2P-System- Optimistische Replikation- Arbeitet auf Volume-Ebene- Sofortige Benachrichtigung und Periodischer Abgleich.
Nachteile: - Schwer Portierbar auf andere Betriebsysteme- Schlechte Performanz bei hoher Teilnehmerzahl
RUMOR
7/29
RUMOR
7/29
- Entwickelt 1998- Basiert auf FICUS- Optimistische Replikation- Arbeitet auf Volume-Ebene- Nur Periodischer Abgleich- Leicht portierbar (C++)- Verwaltet sich mit Hilfe einer Datenbank
RUMOR
8/29
Datenabgleich
- Datenabgleich immer zwischen genau zwei Teilnehmern.
RUMOR
8/29
Datenabgleich
- Datenabgleich immer zwischen genau zwei Teilnehmern.- Immer nur ein Teilnehmer wird aktualisiert.
RUMOR
8/29
Datenabgleich
- Datenabgleich immer zwischen genau zwei Teilnehmern.- Immer nur ein Teilnehmer wird aktualisiert.- Abgleich in drei Phasen: Scanphase, Kontaktierphase und Abgleichsphase.
RUMOR
9/29
DatenabgleichPHASE 1: Scanphase
AB
DBVolume DBVolume
RUMOR
9/29
DatenabgleichPHASE 1: Scanphase
AB
DBVolume DBVolume
Aktualisierung
RUMOR
10/29
DatenabgleichPHASE 2: Kontaktierphase
AB
DBVolume DBVolume
Kontaktierung
RUMOR
10/29
DatenabgleichPHASE 2: Kontaktierphase
AB
DBVolume DBVolume
Kontaktierung
Vergleich
RUMOR
11/29
DatenabgleichPHASE 3: Abgleichsphase
AB
DBVolume DBVolume
Transfer
RUMORGossip
- Beim Abgleich werden auch gesammelte Daten anderer Teilnehmer übertragen.
12/29
RUMOR
- Beim Abgleich werden auch gesammelte Daten anderer Teilnehmer übertragen.- Nachrichten werden unregelmäßig, aber zuverlässig weitergeleitet.
12/29
Gossip
RUMOR
- Beim Abgleich werden auch gesammelte Daten anderer Teilnehmer übertragen.- Nachrichten werden unregelmäßig, aber zuverlässig weitergeleitet.- Teilnehmer muss sich nur mit einem weiteren Teilnehmer abgleichen und kann danach das Netzwerk verlassen.
12/29
Gossip
RUMORVersionsvektoren
- Werden verwendet um Versionskonflikte zu erkennen.
13/29
RUMORVersionsvektoren
- Werden verwendet um Versionskonflikte zu erkennen.- Jedes Volume jedes Teilnehmers hat einen eigenen Versionsvektor.
13/29
RUMORVersionsvektoren
- Werden verwendet um Versionskonflikte zu erkennen.- Jedes Volume jedes Teilnehmers hat einen eigenen Versionsvektor.- Versionsvektoren halten die Aktualisierungen der Dateien fest.
13/29
RUMORVersionsvektoren
- Werden verwendet um Versionskonflikte zu erkennen.- Jedes Volume jedes Teilnehmers hat einen eigenen Versionsvektor.- Versionsvektoren halten die Aktualisierungen der Dateien fest.- Versionsvektoren werden in der Kontaktierphase des Abgleichs verglichen.
13/29
RUMORVersionsvektoren
- Werden verwendet um Versionskonflikte zu erkennen.- Jedes Volume jedes Teilnehmers hat einen eigenen Versionsvektor.- Versionsvektoren halten die Aktualisierungen der Dateien fest.- Versionsvektoren werden in der Kontaktierphase des Abgleichs verglichen.- Bei Konflikt werden automatisierte Korrekturverfahren angewendet.
13/29
RUMORAdaptiver Ring
- Alle Teilnehmer erhalten bei Anmeldung einen eindeutig vergleichbaren Schlüssel.
14/29
RUMORAdaptiver Ring
- Alle Teilnehmer erhalten bei Anmeldung einen eindeutig vergleichbaren Schlüssel.- Durch die Schlüssel sind Nachfolger und Vorgänger eindeutig bestimmt.
14/29
RUMORAdaptiver Ring
- Alle Teilnehmer erhalten bei Anmeldung einen eindeutig vergleichbaren Schlüssel.- Durch die Schlüssel sind Nachfolger und Vorgänger eindeutig bestimmt.- Größter Schlüssel wird mit kleinstem Schlüssel verbunden. Es entsteht ein Ring.
14/29
RUMORAdaptiver Ring
- Alle Teilnehmer erhalten bei Anmeldung einen eindeutig vergleichbaren Schlüssel.- Durch die Schlüssel sind Nachfolger und Vorgänger eindeutig bestimmt.- Größter Schlüssel wird mit kleinstem Schlüssel verbunden. Es entsteht ein Ring.- Neue Teilnehmer erhalten mit dem Schlüssel einen festen Platz im Ring.
14/29
RUMORAdaptiver Ring
- Alle Teilnehmer erhalten bei Anmeldung einen eindeutig vergleichbaren Schlüssel.- Durch die Schlüssel sind Nachfolger und Vorgänger eindeutig bestimmt.- Größter Schlüssel wird mit kleinstem Schlüssel verbunden. Es entsteht ein Ring.- Neue Teilnehmer erhalten mit dem Schlüssel einen festen Platz im Ring.- Wenn Teilnehmer das Netzwerk verlassen, schließt sich der Ring automatisch.
14/29
RUMORAdaptiver Ring
15/29
Beispiel
9
8
1
4
2
RUMORAdaptiver Ring
15/29
Beispiel
9
8
1
4
2
RUMORAdaptiver Ring
15/29
Beispiel
9
8
1
4
2
5
RUMORAdaptiver Ring
15/29
Beispiel
9
8
1
4
2
5
RUMORAdaptiver Ring
15/29
Beispiel
9
8
1
4
2
5
RUMORGarbage Collection
- Keine Freigabe von Ressourcen, wenn nur lokal keine Namen und Verweise auf die Daten vorhanden sind.
15/29
RUMOR
- Keine Freigabe von Ressourcen, wenn nur lokal keine Namen und Verweise auf die Daten vorhanden sind.- Anfrage an den Nachfolger im adaptiven Ring.
15/29
Garbage Collection
RUMOR
- Keine Freigabe von Ressourcen, wenn nur lokal keine Namen und Verweise auf die Daten vorhanden sind.- Anfrage an den Nachfolger im adaptiven Ring.- Anfrage wird durch Gossip durch das Netzwerk geleitet.
15/29
Garbage Collection
RUMOR
- Keine Freigabe von Ressourcen, wenn nur lokal keine Namen und Verweise auf die Daten vorhanden sind.- Anfrage an den Nachfolger im adaptiven Ring.- Anfrage wird durch Gossip durch das Netzwerk geleitet.- Jeder Teilnehmer prüft, ob die zu löschenden Daten bei ihm vorhanden sind.
15/29
Garbage Collection
RUMOR
- Keine Freigabe von Ressourcen, wenn nur lokal keine Namen und Verweise auf die Daten vorhanden sind.- Anfrage an den Nachfolger im adaptiven Ring.- Anfrage wird durch Gossip durch das Netzwerk geleitet.- Jeder Teilnehmer prüft, ob die zu löschenden Daten bei ihm vorhanden sind.- Informationen über nicht verbundene Teilnehmer befinden sich in den Datenbanken verbundener Teilnehmer.
15/29
Garbage Collection
RUMOR
- Keine Freigabe von Ressourcen, wenn nur lokal keine Namen und Verweise auf die Daten vorhanden sind.- Anfrage an den Nachfolger im adaptiven Ring.- Anfrage wird durch Gossip durch das Netzwerk geleitet.- Jeder Teilnehmer prüft, ob die zu löschenden Daten bei ihm vorhanden sind.- Informationen über nicht verbundene Teilnehmer befinden sich in den Datenbanken verbundener Teilnehmer.- Wenn die Daten im Netzwerk nicht mehr existieren können die Ressourcen freigegeben werden.
15/29
Garbage Collection
ROAM
16/29
ROAM- Entwickelt 1998- Basiert auf RUMOR und FICUS- Schwerpunkt der Änderungen: Vorteile für mobile Teilnehmer- Kein reines P2P-System, sondern hybride Form zwischen P2P und Client-Server
16/29
ROAM
17/29
Das WARD-Modell
ROAM
17/29
Das WARD-Modell- Teilnehmer werden in Gruppen aufgeteilt.- Gruppierung erfolgt nach Verbindungskonditionen.- Verbindungen zu Teilnehmern innerhalb einer Gruppe sollen häufiger auftreten als Verbindungen zu Teilnehmern in verschiedenen Gruppen.- Die Gruppen heißen „WARDs“ (Wide-Area-Replication-Domains).
ROAM
18/29
Das WARD-Modell
ROAM
19/29
Das WARD-Modell- Jeder WARD hat einen WARD-Master.- Der WARD-Master ist die Schnittstelle zwischen den Teilnehmern des WARDs zu Teilnehmern anderer WARDs.- Der WARD-Master wird willkürlich gewählt.- Bei Trennung des WARD-Masters vom Netzwerk kann schnell und mit geringem Aufwand ein neuer WARD-Master gewählt werden.- Die Teilnehmer eines WARDs werden in einem adaptiven Ring angeordnet.- Die WARD-Master aller WARDs werden in einem adaptiven Ring angeordnet.- Zwei Schichten.
ROAM
20/29
Das WARD-Modell
Beispiel
1
8
20
27
6
510
12
3
154
ROAMDas WARD-Modell
Beispiel
1
8
20
27
6
510
12
3
20/29
415
ROAMDas WARD-Modell
Beispiel
1
8
20
27
6
510
12
3
15
20/29
4
ROAMDas WARD-Modell
Beispiel
1
8
20
27
10
12
15
20/29
6
5
3
4
ROAMDas WARD-Modell
Beispiel
1
8
20
27
10
12
15
20/29
6
5
3
4
ROAMDas WARD-Modell
- Bei Veränderung der Verbindungskonditionen kann es zu einem WARD-Wechsel eines Teilnehmers kommen.- Der Teilnehmer meldet sich beim neuen WARD an und beim alten ab.- Es muss dabei jeweils nur ein anderer Teilnehmer kontaktiert werden (Gossip).- Wenn kein Teilnehmer des alten WARDs verfügbar sein sollte, kann die Abmeldung auch zu einem späteren Zeitpunkt vollzogen werden.
21/29
ROAMDas WARD-Modell
Beispiel
1
8
20
27
10
12
15
22/29
6
5
3
4
ROAMDas WARD-Modell
Beispiel
1
8
20
27
10
12
15
22/29
6
5
3
4
Das WARD-Modell
Beispiel
1
8
20
27
10
12
15
22/29
ROAM
6
5
3
4
Das WARD-Modell
Beispiel
1
8
20
27
10
12
15
22/29
ROAM
6
5
3
4
Das WARD-Modell
Beispiel
1
8
20
27
10
12
15
22/29
ROAM
6
5
3
4
Das WARD-Modell
Beispiel
1
8
20
27
10
12
15
22/29
ROAM
6
5
3
4
ROAMDas erweiterte WARD-Modell
- Selektive Replikation durch Einfügen einer dritten Schicht.- Die Dateien eines Volumes werden in jeweils einem Ring angeordnet.- Weniger unnötige Datentransfers.
23/29
ROAM
Beispiel
24/29
1X
Y
3
Y
6X
Y
8X
10X
2X
Y
12
Y
Das erweiterte WARD-Modell
ROAM
Beispiel
24/29
1X
Y
3
Y
6X
Y
8X
10X
2X
Y
12
Y
Das erweiterte WARD-Modell
ROAM
Beispiel
24/29
1X
Y
3
Y
6X
Y
8X
10X
2X
Y
12
Y
Das erweiterte WARD-Modell
ROAMDas erweiterte WARD-Modell
- WARD-Wechsel können unnötig Ressourcen verbrauchen, wenn der Wechsel nur für kurze Zeit stattfindet.- WARD-Überlappung erlaubt die zeitlich begrenzte Mitgliedschaft in zwei WARDs gleichzeitig.- Es erfolgt zunächst keine Abmeldung vom alten WARD.- Erst wenn eine Zeitgrenze überschritten wurde, wird die Überlappung beendet.
25/29
ROAM
Beispiel
1
8
20
27
10
12
15
26/29
6
5
3
Das erweiterte WARD-Modell
4
ROAM
Beispiel
1
8
20
27
10
12
15
26/29
6
5
3
Das erweiterte WARD-Modell
4
ROAM
Beispiel
1
8
20
27
10
12
15
26/29
6
5
3
Das erweiterte WARD-Modell
4
ROAM
Beispiel
1
8
20
27
10
12
15
26/29
6
5
3
Das erweiterte WARD-Modell
4
ROAM
Beispiel
18
20
27
10
12
15
26/29
6
5
3
Das erweiterte WARD-Modell
4
Beispiel
8
20
27
10
12
15
26/29
6
5
3
Das erweiterte WARD-Modell
1
ROAM
4
Beispiel
8
20
27
10
12
15
26/29
6
5
3
Das erweiterte WARD-Modell
1
ROAM
4
Fazit
27/29
- RUMOR und ROAM garantieren den korrekten Datenabgleich.- Problem: Leistungsfähigkeit.
Fazit
27/29
- RUMOR und ROAM garantieren den korrekten Datenabgleich.- Problem: Leistungsfähigkeit.
RUMORN-1 Abgleichsschritte (worst case)
Fazit
27/29
- RUMOR und ROAM garantieren den korrekten Datenabgleich.- Problem: Leistungsfähigkeit.
RUMORN-1 Abgleichsschritte (worst case)
ROAM2N M
+M-3 Abgleichsschritte (worst case)
Fazit
27/29
- RUMOR und ROAM garantieren den korrekten Datenabgleich.- Problem: Leistungsfähigkeit.
RUMORN-1 Abgleichsschritte (worst case)
ROAM2N M
ROAM wird Leistungsfähiger als RUMOR, wenn
2<M<N und M>3
(Durch Testläufe ermittelt)
+M-3 Abgleichsschritte (worst case)
Fazit
27/28
Fazit
27/29
Schwachstellen bei beiden Systemen: - Garbage Collection
Fazit
27/29
Schwachstellen bei beiden Systemen: - Garbage Collection- Geringe Leistungsfähigkeit bei kleinen Abgleichsdaten
Fazit
27/29
Schwachstellen bei beiden Systemen: - Garbage Collection- Geringe Leistungsfähigkeit bei kleinen Abgleichsdaten- Kaum unter realen Bedingungen eingesetzt