Eine Replikation ist eine Verdopplung bzw. Vervielfältigung von Daten. Der Datenbestand der replizierten Daten ist in der Regel mit dem Original identisch. Die vervielfältigten Daten (Replikate) werden für gewöhnlich an unterschiedlichen Standorten gehalten. Dies dient einerseits zur Datensicherung; andererseits ermöglicht es die Betrachtung (und in bestimmten Fällen sogar die Bearbeitung) von großen Datenmengen an voneinander getrennten Orten, ohne Netzlast (siehe Computernetzwerk) zu verursachen.
Mitunter ist es wichtig zu wissen, welche Aktualität die Replikate besitzen müssen. Je nach Art der Replizierung liegt zwischen der Bearbeitung/Erstellung der Primärdaten und ihrer Replizierung eine gewisse Zeitspanne. Diese Zeitspanne wird als "timeliness" meist aber als "latency" bezeichnet.
In der Theorie: Eine synchrone, latencyfreie Replikation wird mit der so genannten "two-phase-commit" (Zwei-Phasen-Bestätigung, vgl. Commit-Protokoll) gewährleistet.
Dabei werden mehrere Datenmanipulationen (Transaktionen) in eine Warteschlange (engl.: queue) gestellt und der Reihe nach abgearbeitet. Solange die erste Transaktion in der Schlange nicht als erfolgreich vom Replikat bestätigt (engl.: committed) wurde, werden die darauffolgenden Transaktionen nicht repliziert. Tritt ein Fehler auf wird die Transaktion auf dem Replikat zurückgefahren (engl.: roll back). Die darauffolgenden Transaktionen werden dann nicht mehr repliziert. Alle nachfolgenden und zukünftigen Transaktionen werden bis dahin in der Queue gespeichert bis der Fehler behoben wurde und die Verbindung zum Replikat wieder besteht.
In der Praxis ist aufgrund der Netzwerkverbindungen ein 100%ig synchrones Replikationssystem nicht möglich. Beispielsweise dann, wenn primäre und replizierte Daten (geographisch) auseinander liegen. Zudem gibt es immer eine gewisse Verzögerung durch die two-phase-commit-Überprüfung.
Strategien
Beispiele für eine synchrone Replikation sind:
Eine einfache Variante der asynchronen Replikation ist die "File Transfer Replication", der Transfer von Dateien via FTP oder SSH.
Die Daten der Replikate stellen also nur eine Momentaufnahme der primären Daten zu einem bestimmten Zeitpunkt dar. Auf Datenbankebene können so in kurzen Zeitintervallen die Transaktionslogs der Datenbanken von einem Server zum anderen transportiert und in die Datenbank eingelesen werden.
Unter Voraussetzung eines intakten Netzwerkes entspricht die latency dann dem Zeitintervall in dem die Transaktionslogs geschrieben werden.
Strategien asynchroner Replikation
Vorteile von Replikaten in verteilten Datenbanksystemen
Nachteile
Datenbank | IT-Architektur | Parallelverarbeitung | IT-Sicherheit
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Replikation (Datenverarbeitung)".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world