Replikation

Durch Replikation sind Daten an mehreren Orten verfügbar z.B. in verteilten Systemen und können synchronisiert werden.  Dadurch erreicht man eine höhere Ausfallsicherheit und Verfügbarkeit von Daten.  Beispielsweise bedient sich das Projekt Cassandra der Apache Foundation des Prinzps der Replikation.

Synchrone Replikation 
Bei einer synchronen Replikation werden INSERT-, UPDATE- oder DELETE Operationen erst abgeschlossen, wenn sie auf allen Instanzen des Datenobjektes durchgeführt wurden.  Um die Atomarität eines Datenobjektes sicher zu stellen, wird das Commit-Protokoll eingesetzt. Dieser Prozess wird beispielsweise durch das Read One Write All-Verfahren (ROWA) durchgeführt.  Beim ROWA-Verfahren werden Änderungen erst auf allen Replikaten durchgeführt, bevor sie synchronisiert werden. Weil es vorkommen kann, dass ein Replikat beim Synchronisieren nicht verfügbar ist gibt es das  Read-One-Write-All-Available Verfahen, bei dem der Replikationsprozess nur auf allen gerade verfügbaren Replikaten durchgeführt wird.

Asynchrone Replikation 
Asynchrone Replikation bedeuted, dass zwischen dem Änderungsprozess und der Replikation eine Verzögerung auftreten darf, so das die Datenobjekte nur zum Zeitpunkt der Replikation identisch sind.  Verfahren zur asynchronen Replikation sind z.B. Merge-Replikation, welche durch Mischen der Datenobjekte zu Stande kommt oder Primary-Copy, bei dem die Änderungsoperationen zunächst nur und mit Priorität auf der  wichtigsten Kopie des Datenobjektes durchgeführt wird und erst danach die Replikate synchronisiert werden.                                       
Siehe auch:    datenbank   Konsistenz   Integrität   NoSQL   Apache-Cassandra