Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Der erste Schritt in einem Online-Migrationsplan besteht darin, sicherzustellen, dass alle neuen Daten, die von der Anwendung geschrieben werden, in beiden Datenbanken, Ihrem vorhandenen Cassandra-Cluster und Amazon Keyspaces, gespeichert werden. Ziel ist es, einen konsistenten Überblick über die beiden Datenspeicher zu bieten. Sie können dies tun, indem Sie alle neuen Schreibvorgänge auf beide Datenbanken anwenden. Um duale Schreibvorgänge zu implementieren, sollten Sie eine der folgenden beiden Optionen in Betracht ziehen.
Doppelte Schreibvorgänge für Anwendungen — Sie können duale Schreibvorgänge mit minimalen Änderungen an Ihrem Anwendungscode implementieren, indem Sie die vorhandenen Cassandra-Clientbibliotheken und -Treiber nutzen. Sie können entweder duale Schreibvorgänge in Ihrer vorhandenen Anwendung implementieren oder eine neue Ebene in der Architektur für duale Schreibvorgänge erstellen. Weitere Informationen und eine Kundenfallstudie, die zeigt, wie duale Schreibvorgänge in einer bestehenden Anwendung implementiert wurden, finden Sie in der Fallstudie zur Cassandra-Migration
. Bei der Implementierung von dualen Schreibvorgängen können Sie eine Datenbank als Leader und die andere Datenbank als Follower-Datenbank festlegen. Auf diese Weise können Sie weiterhin in Ihre ursprüngliche Quell- oder Leader-Datenbank schreiben, ohne dass Schreibfehler in die Follower- oder Zieldatenbank den kritischen Pfad Ihrer Anwendung stören.
Anstatt fehlgeschlagene Schreibvorgänge an den Follower erneut zu versuchen, können Sie Amazon Simple Queue Service verwenden, um fehlgeschlagene Schreibvorgänge in einer Warteschlange für tote Briefe (DLQ) aufzuzeichnen. Mit dem DLQ können Sie die fehlgeschlagenen Schreibvorgänge an den Follower analysieren und feststellen, warum die Verarbeitung in der Zieldatenbank nicht erfolgreich war.
Für eine anspruchsvollere Dual-Write-Implementierung können Sie sich an AWS bewährte Methoden für den Entwurf einer Sequenz lokaler Transaktionen unter Verwendung des Saga-Musters halten. Ein Saga-Muster stellt sicher, dass, falls eine Transaktion fehlschlägt, die Saga Ausgleichstransaktionen ausführt, um die durch die vorherigen Transaktionen vorgenommenen Datenbankänderungen rückgängig zu machen.
Wenn Sie Dual-Writes für eine Online-Migration verwenden, können Sie die Dual-Writes nach dem Saga-Muster konfigurieren, sodass jeder Schreibvorgang eine lokale Transaktion ist, um atomare Operationen in heterogenen Datenbanken sicherzustellen. Weitere Informationen zum Entwerfen verteilter Anwendungen mithilfe der empfohlenen Entwurfsmuster für die AWS Cloud finden Sie unter Cloud-Entwurfsmuster, Architekturen und Implementierungen.
Doppelte Schreibvorgänge auf Messaging-Tier — Anstatt duale Schreibvorgänge auf Anwendungsebene zu implementieren, können Sie Ihre bestehende Messaging-Stufe verwenden, um duale Schreibvorgänge auf Cassandra und Amazon Keyspaces durchzuführen.
Zu diesem Zweck können Sie für Ihre Messaging-Plattform einen zusätzlichen Verbraucher konfigurieren, der Schreibvorgänge an beide Datenspeicher sendet. Dieser Ansatz bietet eine einfache Low-Code-Strategie, bei der die Messaging-Ebene verwendet wird, um zwei Ansichten für beide Datenbanken zu erstellen, die letztendlich konsistent sind.