View a markdown version of this page

Processus de migration hors ligne : Apache Cassandra vers Amazon Keyspaces - Amazon Keyspaces (pour Apache Cassandra)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Processus de migration hors ligne : Apache Cassandra vers Amazon Keyspaces

Les migrations hors ligne conviennent lorsque vous pouvez vous permettre une interruption de service pour effectuer la migration. Il est courant dans les entreprises de disposer de fenêtres de maintenance pour l'application de correctifs, les versions volumineuses ou les interruptions de service pour les mises à niveau matérielles ou majeures. La migration hors ligne peut utiliser cette fenêtre pour copier des données et transférer le trafic applicatif d'Apache Cassandra vers Amazon Keyspaces.

La migration hors ligne réduit les modifications apportées à l'application car elle ne nécessite pas de communication simultanée avec Cassandra et Amazon Keyspaces. En outre, lorsque le flux de données est suspendu, l'état exact peut être copié sans conserver les mutations.

Dans cet exemple, nous utilisons Amazon Simple Storage Service (Amazon S3) comme zone intermédiaire pour les données lors de la migration hors ligne afin de minimiser les temps d'arrêt. Vous pouvez importer automatiquement les données que vous avez stockées au format Parquet dans Amazon S3 dans un tableau Amazon Keyspaces à l'aide du connecteur Spark Cassandra et. AWS Glue La section suivante va présenter une vue d'ensemble de haut niveau du processus. Vous pouvez trouver des exemples de code pour ce processus sur Github.

Le processus de migration hors ligne d'Apache Cassandra vers Amazon Keyspaces à l'aide d'Amazon S3 AWS Glue nécessite les tâches suivantes AWS Glue .

  1. Une tâche ETL qui extrait et transforme les données CQL et les stocke dans un compartiment Amazon S3.

  2. Une deuxième tâche qui importe les données du compartiment vers Amazon Keyspaces.

  3. Une troisième tâche pour importer des données incrémentielles.

Comment effectuer une migration hors ligne vers Amazon Keyspaces depuis Cassandra exécutée sur Amazon EC2 dans un cloud privé virtuel Amazon
  1. Vous pouvez d'abord AWS Glue exporter les données de table de Cassandra au format Parquet et les enregistrer dans un compartiment Amazon S3. Vous devez exécuter une AWS Glue tâche à l'aide d'un AWS Glue connecteur vers un VPC où réside l'instance Amazon EC2 exécutant Cassandra. Ensuite, à l'aide du point de terminaison privé Amazon S3, vous pouvez enregistrer des données dans le compartiment Amazon S3.

    Le schéma suivant illustre ces étapes.

    Migrer les données d'Apache Cassandra depuis Amazon EC2 exécuté dans un VPC vers un compartiment Amazon S3 à l'aide de. AWS Glue
  2. Mélangez les données du compartiment Amazon S3 pour améliorer la randomisation des données. Les données importées de manière uniforme permettent de répartir davantage le trafic dans la table cible.

    Cette étape est requise lors de l'exportation de données depuis Cassandra avec de grandes partitions (partitions de plus de 1 000 lignes) afin d'éviter les modèles de touches de raccourci lors de l'insertion des données dans Amazon Keyspaces. Les problèmes liés aux touches de raccourci WriteThrottleEvents se produisent dans Amazon Keyspaces et entraînent une augmentation du temps de chargement.

    Une AWS Glue tâche mélange les données d'un compartiment Amazon S3 et les renvoie dans un autre compartiment Amazon S3.
  3. Utilisez une autre AWS Glue tâche pour importer des données depuis le compartiment Amazon S3 vers Amazon Keyspaces. Les données mélangées du compartiment Amazon S3 sont stockées au format Parquet.

    La tâche d' AWS Glue importation extrait les données mélangées du compartiment Amazon S3 et les déplace vers une table Amazon Keyspaces.

Pour plus d'informations sur le processus de migration hors ligne, consultez l'atelier Amazon Keyspaces avec AWS Glue