View a markdown version of this page

Offline-Migrationsprozess: Apache Cassandra zu Amazon Keyspaces - Amazon Keyspaces (für Apache Cassandra)

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.

Offline-Migrationsprozess: Apache Cassandra zu Amazon Keyspaces

Offline-Migrationen eignen sich, wenn Sie sich Ausfallzeiten für die Durchführung der Migration leisten können. In Unternehmen ist es üblich, dass Wartungsfenster für Patches, große Releases oder Ausfallzeiten aufgrund von Hardware-Upgrades oder größeren Upgrades gelten. Bei der Offline-Migration kann dieses Fenster verwendet werden, um Daten zu kopieren und den Anwendungsdatenverkehr von Apache Cassandra auf Amazon Keyspaces umzustellen.

Die Offline-Migration reduziert Änderungen an der Anwendung, da keine gleichzeitige Kommunikation mit Cassandra und Amazon Keyspaces erforderlich ist. Wenn der Datenfluss unterbrochen ist, kann außerdem der genaue Status kopiert werden, ohne dass Mutationen beibehalten werden.

In diesem Beispiel verwenden wir Amazon Simple Storage Service (Amazon S3) als Staging-Bereich für Daten während der Offline-Migration, um Ausfallzeiten zu minimieren. Sie können die Daten, die Sie in Amazon S3 im Parquet-Format gespeichert haben, mithilfe des Spark-Cassandra-Connectors und automatisch in eine Amazon Keyspaces-Tabelle importieren. AWS Glue Der folgende Abschnitt gibt einen allgemeinen Überblick über den Prozess. Codebeispiele für diesen Prozess finden Sie auf Github.

Der Offline-Migrationsprozess von Apache Cassandra zu Amazon Keyspaces verwendet Amazon S3 und AWS Glue erfordert die folgenden AWS Glue Jobs.

  1. Ein ETL-Job, der CQL-Daten extrahiert, transformiert und in einem Amazon S3-Bucket speichert.

  2. Ein zweiter Job, der die Daten aus dem Bucket in Amazon Keyspaces importiert.

  3. Ein dritter Job zum Importieren inkrementeller Daten.

Wie führe ich eine Offline-Migration von Cassandra, die auf Amazon EC2 in einer Amazon Virtual Private Cloud ausgeführt wird, zu Amazon Keyspaces durch
  1. Zuerst exportieren Sie AWS Glue Tabellendaten aus Cassandra im Parquet-Format und speichern sie in einem Amazon S3-Bucket. Sie müssen einen AWS Glue Job mithilfe eines AWS Glue Connectors zu einer VPC ausführen, auf der sich die Amazon EC2-Instance befindet, auf der Cassandra ausgeführt wird. Anschließend können Sie mithilfe des privaten Amazon S3-Endpunkts Daten im Amazon S3-Bucket speichern.

    Das folgende Diagramm veranschaulicht diese Schritte.

    Migrieren Sie Apache Cassandra-Daten von Amazon EC2, das in einer VPC ausgeführt wird, zu einem Amazon S3-Bucket mit. AWS Glue
  2. Mischen Sie die Daten im Amazon S3-Bucket, um die Randomisierung der Daten zu verbessern. Gleichmäßig importierte Daten ermöglichen einen stärker verteilten Datenverkehr in der Zieltabelle.

    Dieser Schritt ist erforderlich, wenn Daten aus Cassandra mit großen Partitionen (Partitionen mit mehr als 1000 Zeilen) exportiert werden, um Hotkey-Muster beim Einfügen der Daten in Amazon Keyspaces zu vermeiden. Hotkey-Probleme werden WriteThrottleEvents in Amazon Keyspaces verursacht und führen zu einer längeren Ladezeit.

    Ein AWS Glue Job mischt Daten aus einem Amazon S3-Bucket und gibt sie in einen anderen Amazon S3-Bucket zurück.
  3. Verwenden Sie einen anderen AWS Glue Job, um Daten aus dem Amazon S3-Bucket in Amazon Keyspaces zu importieren. Die gemischten Daten im Amazon S3-Bucket werden im Parquet-Format gespeichert.

    Der AWS Glue Importauftrag nimmt gemischte Daten aus dem Amazon S3-Bucket und verschiebt sie in eine Amazon Keyspaces-Tabelle.

Weitere Informationen zum Offline-Migrationsprozess finden Sie im Workshop Amazon Keyspaces mit AWS Glue