Was ist Datenreplikation?
Auf dieser Seite werden die folgenden Punkte behandelt, damit Sie die Datenreplikation besser verstehen:
- Begriffe der Datenreplikation
- Vorteile der Datenreplikation
- Herausforderungen der Datenreplikation
- Datenreplikation in RDBMS
- Schlussfolgerung
Unter Datenreplikation versteht man das Kopieren eines oder mehrerer Datensätze von einem Ort zu einem anderen. Diese Orte können sehr ähnlich sein (z. B. das Kopieren von Dateien innerhalb derselben Datenbank) oder sehr unterschiedlich (z. B. das Kopieren von Daten von einer Datenbank in eine andere). Der Begriff Datenreplikation bedeutet in der Regel, dass die Daten von der Quelle bis zum Ziel auf dem neuesten Stand gehalten werden, aber die Geschwindigkeit und der Automatisierungsgrad der Replikation können die Datenkonsistenz beeinflussen.
Begriffe der Datenreplikation
Im Folgenden finden Sie eine Liste gängiger Begriffe, die Ihnen das Verständnis der Datenreplikation erleichtern:
Unidirektional versus bidirektional: Eine unidirektionale Beziehung bedeutet, dass Daten nur von einer Quelle zu einem Ziel fließen. Bei einer bidirektionalen Beziehung fließen die Daten in beide Richtungen.
Aktiv-aktiv versus aktiv-passiv: Eine aktiv-aktiv Cluster verteilt die Lasten jederzeit gleichmäßig auf alle Knoten. Im Gegensatz dazu gibt es bei einem Aktiv-Passiv-Cluster einen Backup-Knoten, der nur dann einspringt, wenn der aktive Knoten überlastet ist.
Synchron versus asynchron: Bei der synchronen Replikation werden die Daten gleichzeitig auf den Primärknoten und das Replikat geschrieben. Bei der asynchronen Replikation werden die Daten zuerst auf den primären Knoten geschrieben und dann auf das Replikat kopiert.
Stapelverarbeitung versus Echtzeitverarbeitung: Bei der Stapelverarbeitung werden Daten in Gruppen oder Stapeln in geplanten Intervallen erfasst und verarbeitet. Sie eignet sich in der Regel für die Verarbeitung großer Datenmengen. Die Echtzeitverarbeitung verarbeitet Daten, sobald sie erzeugt oder empfangen werden, und eignet sich daher für zeitkritische Anwendungen.
Inkrementell versus vollständig: Inkrementelle Datenreplikation bedeutet, dass Sie nur die aktualisierten Elemente eines Datensatzes replizieren. Vollständige Datenreplikation bedeutet, dass Sie den gesamten Datensatz replizieren, wenn sich seine Elemente ändern.
Gefiltert: Daten aus einer Quelle können gefiltert werden, so dass nur eine bestimmte Teilmenge oder Auswahl der Daten an ein Ziel repliziert wird.
Verwandelt: Unter Datentransformation versteht man die Umwandlung von Daten von einem Format oder einer Struktur in ein anderes, um sie in das richtige Format und die richtige Struktur für die Analyse, Berichterstattung oder Speicherung am Zielort zu bringen.
Vorteile der Datenreplikation
Die Datenreplikation hat viele Einsatzmöglichkeiten und Vorteile. Dazu gehören:
Hohe Verfügbarkeit (HA): Die Aufrechterhaltung aktueller Datenkopien an mehreren Standorten verhindert Datenverluste im Falle von Ausfällen. In der Regel ist die Echtzeitreplikation unidirektional und findet zwischen einer Quelle und einem oder mehreren Replikaten statt. Wenn die Quelle nicht mehr verfügbar ist, übernimmt eines der Replikate die Aufgabe, oft automatisch.
Wiederherstellung im Katastrophenfall (DR): Die Disaster Recovery ist eng mit HA verbunden und stellt sicher, dass Kopien Ihrer Daten im Katastrophenfall verfügbar sind.
Skalierung des Durchsatzes: Bei diesem Verfahren werden mehrere Kopien von Daten verwendet, um die Kapazität eines Systems zur Bearbeitung von Anfragen zu erhöhen. Er wird in der Regel für den Leseverkehr und seltener für den Schreibverkehr verwendet.
Sekundärer Zugang: Bei der auch als Indizierung bezeichneten Methode werden die Daten in ein anderes System repliziert, um einen anderen Zugriff auf sie zu ermöglichen. Das zweite System kann sich entweder innerhalb derselben Datenbank befinden (im Falle der Indizierung) oder extern sein. Je nach den verwendeten Technologien kann ein Zwischenglied wie Kafka ist manchmal erforderlich, um die Daten zwischen einer Quelle und einem externen System zu übertragen.
Hinweis: Wir haben absichtlich “Backup” als Vorteil der Datenreplikation ausgeschlossen, da Sie ein Backup nicht mit Änderungen aktualisieren. Ein wichtiger Punkt ist, dass die Datenreplikation anfällig für die Beschädigung oder Löschung von Daten auf Anwendungsebene ist, während Backups dies nicht sind. Backups sollten nicht als Ersatz für HA oder DR angesehen werden, noch sollten HA oder DR Backups ersetzen.
Herausforderungen der Datenreplikation
Bei jeder Datenreplikationsstrategie sind Sie gezwungen, Kompromisse zu schließen:
- Geschwindigkeit
- Konsistenz, Verfügbarkeit und Partitionstoleranz (die CAP-Theorem)
- Ressourcenverbrauch und -kosten (RAM, Festplatte, CPU, Netzwerk)
Zum Beispiel:
- Das Führen mehrerer Replikate erhöht die Sicherheit Ihrer Daten bei Ausfällen, führt aber zu einem höheren Ressourcenverbrauch und höheren Kosten. Das Gleiche gilt für die Skalierung von Lesevorgängen mit mehreren Replikaten.
- Die synchrone Replikation kann dazu führen, dass die Schreibvorgänge in der Quelle langsamer sind (oder sogar ganz ausfallen). Die asynchrone Replikation kann jedoch zu einem höheren Ressourcenverbrauch führen, wenn Sie Datensätze schneller schreiben, als Sie sie replizieren können. Bei der asynchronen Replikation kann es außerdem zu Diskrepanzen zwischen Quell- und Zieldaten kommen, unabhängig davon, wie schnell oder zuverlässig Ihre Replikationstechnologie ist.
- Inkrementelle, gefilterte und transformierte Replikation kann zu einer geringeren Auslastung der Netzwerkressourcen führen, aber diese Arten der Replikation arbeiten tendenziell langsamer und erfordern eine leistungsfähigere CPU für die Quelle.
Die besten Praktiken für die Datenreplikation hängen stark von den Anforderungen Ihres Anwendungsfalls und den Möglichkeiten der von Ihnen verwendeten Technologien ab.
Datenreplikation in RDBMS
Jede Datenbanktechnologie bietet unterschiedliche Funktionen und Optionen für die Datenreplikation. In der Vergangenheit replizierten relationale Datenbankmanagementsysteme (RDBMS) Daten von einer Datenbankinstanz zu einer anderen durch Protokollversand, bei dem die Daten von einer Datenbankinstanz zu einer anderen gesendet werden, nachdem sie auf die Festplatte geschrieben wurden. Neuere Datenbanken, wie zum Beispiel die Couchbase NoSQL-Datenbank, repliziert Daten direkt aus dem Arbeitsspeicher, was die Geschwindigkeit und Zuverlässigkeit deutlich erhöht.
Schlussfolgerung
Data replication is a core concept underpinning many different database capabilities, and replication comes in many different forms with different challenges and advantages. The best data replication choice for your organization depends on what you need to achieve and what technologies you’re using.
Use these resources to learn more about data replication and Couchbase’s data replication capabilities:
Guide to Cloud Data Replication
Data Replication: Advantages & Disadvantages
Data Replication and Synchronization in Couchbase
Cross Data Center Replication (Couchbase Capella™)
Cross Data Center Replication (Couchbase Server)
Besuchen Sie unser database hub to learn about other key concepts of data management.