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, Wartungsfenster für Patches, große Releases oder Ausfallzeiten für Hardware-Upgrades oder größere Upgrades vorzusehen. Die Offline-Migration kann dieses Fenster verwenden, um Daten zu kopieren und den Anwendungsdatenverkehr von Apache Cassandra zu Amazon Keyspaces umzuschalten.

Die Offline-Migration reduziert die Anzahl der Änderungen an der Anwendung, da sie nicht gleichzeitig mit Cassandra und Amazon Keyspaces kommunizieren muss. Außerdem kann bei unterbrochenem Datenfluss der exakte 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 im Parquet-Format in Amazon S3 gespeichert haben, mithilfe des Spark-Cassandra-Connectors automatisch in eine Amazon Keyspaces-Tabelle importieren und AWS Glue. Der folgende Abschnitt wird einen allgemeinen Überblick über den Prozess geben. Codebeispiele für diesen Prozess finden Sie auf Github.

Der Offline-Migrationsprozess von Apache Cassandra zu Amazon Keyspaces mit Amazon S3 und AWS Glue erfordert Folgendes AWS Glue Arbeitsplätze.

  1. Ein ETL Job, der CQL Daten extrahiert, transformiert und in einem Amazon S3 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.

So führen Sie eine Offline-Migration von Cassandra, die auf Amazon EC2 in einer Amazon Virtual Private Cloud läuft, zu Amazon Keyspaces durch
  1. Zuerst verwendest du AWS Glue um Tabellendaten aus Cassandra im Parquet-Format zu exportieren und in einem Amazon S3 S3-Bucket zu speichern. Sie müssen ein ausführen AWS Glue Job mit einem AWS Glue Konnektor zu einem, VPC in dem sich die EC2 Amazon-Instance befindet, auf der Cassandra ausgeführt wird. Anschließend können Sie mit dem privaten Amazon S3 S3-Endpunkt Daten im Amazon S3 S3-Bucket speichern.

    Das folgende Diagramm veranschaulicht diese Schritte.

    Migration von Apache Cassandra-Daten von Amazon, die in einem EC2 ausgeführt werdenVPC, zu einem Amazon S3 S3-Bucket mit AWS Glue.
  2. Mischen Sie die Daten im Amazon S3 S3-Bucket, um die Datenrandomisierung 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 Tastenkombinationen beim Einfügen der Daten in Amazon Keyspaces zu vermeiden. Hotkey-Probleme treten WriteThrottleEvents in Amazon Keyspaces auf und führen zu einer längeren Ladezeit.

    A AWS Glue Job mischt Daten aus einem Amazon S3 S3-Bucket und gibt sie in einen anderen Amazon S3 S3-Bucket zurück.
  3. Verwenden Sie einen anderen AWS Glue Job zum Importieren von Daten aus dem Amazon S3 S3-Bucket in Amazon Keyspaces. Die gemischten Daten im Amazon S3 S3-Bucket werden im Parquet-Format gespeichert.

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