# Replikation (Datenverarbeitung)

Replikation oder Replizierung (lateinisch replicare ‚erwidern‘, ‚wiederholen‘) im Wortsinne ist die bloße Herstellung von Mehrexemplaren (Kopien) derselben Daten, meistens jedoch verbunden mit dem regelmäßigen Abgleich der Daten.
Allgemein dient Replikation in der Datenverarbeitung dazu, Daten an mehreren Orten zugänglich zu machen. Dieses dient einerseits zur Datensicherung; andererseits zur Verkürzung der Antwortzeiten, besonders für lesende Datenzugriffe.
Die einfachste Form der Datenreplikation ist die Speicherung einer Kopie einer Datei (copy), in erweiterter Form das Kopieren und Einfügen moderner Betriebssysteme. – Replikation im Wortsinne ist auch die Vervielfältigung optischer Datenträger in einem Presswerk oder mit Hilfe eines Brenners.

## Mehrfach-Haltung von Daten und deren Abgleich

Ändernde Datenzugriffe werden im Allgemeinen durch die Mehrfach-Haltung der Daten aufwändiger. Bei der häufig anzutreffenden Master/Slave-Replikation unterscheidet man zwischen dem „Original“ der Daten (Primärdaten) und den abhängigen Kopien. Bei gleichrangigen Kopien (Versionsverwaltung) muss in der Replikation zu Mergestrategien gegriffen werden, um die Datenbestände zusammenzuführen (salopp Synchronisation, verschieden von echter Synchronisation).
Mitunter ist es wichtig zu wissen, welche Aktualität die Replikate besitzen müssen. Je nach Art der Replizierung liegt zwischen der Bearbeitung bzw. Erstellung der Primärdaten und ihrer Replizierung eine gewisse Zeitspanne. Diese Zeitspanne wird als timelines, meist aber als latency („Latenz“) bezeichnet.

### Synchrone Replikation

Von synchroner Replikation spricht man, wenn eine Änderungsoperation an einem Datenobjekt nur dann erfolgreich abgeschlossen werden kann, wenn sie auch auf den Replikaten durchgeführt wurde. Um dies technisch umsetzen zu können, ist ein Protokoll zur Gewährleistung der Atomarität (Unteilbarkeit) von Transaktionen anzuwenden, das Commit-Protokoll.
Strategien synchroner Replikation:
* ROWA-Verfahren
* Voting-Verfahren, zum Beispiel Gewichtetes Votieren
Beispiele für eine synchrone Replikation sind:
* Warm Standby Replikation von ASE-Sybase-Server-Datenbanken
* Hot Standby Replikation von SQL-Server-Microsoft-Datenbanken

### Asynchrone Replikation

Wenn zwischen der Bearbeitung der primären Daten und der Replizierung eine Latenz liegt, spricht man von Asynchronität. Die Daten sind nur zu dem Zeitpunkt der Replikation synchron (identisch).
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 Netzwerks entspricht die Latenz dann dem Zeitintervall, in dem die Transaktionslogs geschrieben werden.
Strategien asynchroner Replikation:
* Merge-Replikation
* Primary Copy
* Schnappschussreplikation

## Vor- und Nachteile der Replikation

Vorteile von Replikaten in verteilten Datenbanksystemen:
* erhöhte Verfügbarkeit der Daten
* Beschleunigung von Lesezugriffen (bessere Antwortzeiten, Kommunikationseinsparungen)
* bessere Möglichkeiten zur Lastverteilung und Query-Optimierung
Nachteile:
* hoher Update­aufwand
* erhöhter Speicherplatzbedarf
* mögliche Redundanz der Datensätze bei möglicher Vernetzung

## Anwendungsmöglichkeiten

* Data-Warehouse-Prozess
* Abgleich von Datenbanken in der Groupware