Proceso de migración sin conexión: Apache Cassandra a Amazon Keyspaces - Amazon Keyspaces (para Apache Cassandra)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Proceso de migración sin conexión: Apache Cassandra a Amazon Keyspaces

Las migraciones sin conexión son adecuadas cuando puede permitirse el tiempo de inactividad necesario para realizar la migración. Es habitual que las empresas dispongan de períodos de mantenimiento para la aplicación de parches, lanzamientos de gran tamaño o tiempos de inactividad para realizar actualizaciones de hardware o mejoras importantes. La migración sin conexión puede utilizar esta ventana para copiar datos y transferir el tráfico de aplicaciones de Apache Cassandra a Amazon Keyspaces.

La migración sin conexión reduce las modificaciones en la aplicación porque no requiere la comunicación simultánea con Cassandra y Amazon Keyspaces. Además, con el flujo de datos en pausa, se puede copiar el estado exacto sin mantener las mutaciones.

En este ejemplo, utilizamos Amazon Simple Storage Service (Amazon S3) como área de almacenamiento provisional de los datos durante la migración sin conexión a fin de minimizar el tiempo de inactividad. Puede importar automáticamente los datos que ha almacenado en formato Parquet en Amazon S3 a una tabla de Amazon Keyspaces mediante el conector Cassandra de Spark y AWS Glue. La siguiente sección mostrará una descripción general de alto nivel del proceso. Puedes encontrar ejemplos de código para este proceso en Github.

El proceso de migración sin conexión de Apache Cassandra a Amazon Keyspaces mediante Amazon S3 y AWS Glue requiere lo siguiente AWS Glue puestos de trabajo.

  1. Un ETL trabajo que extrae y transforma CQL datos y los almacena en un bucket de Amazon S3.

  2. Un segundo trabajo que importa los datos del depósito a Amazon Keyspaces.

  3. Un tercer trabajo consiste en importar datos incrementales.

Cómo realizar una migración offline a Amazon Keyspaces desde Cassandra que se ejecuta en Amazon EC2 en una Amazon Virtual Private Cloud
  1. Primero usas AWS Glue para exportar datos de tablas de Cassandra en formato Parquet y guardarlos en un bucket de Amazon S3. Necesita ejecutar un AWS Glue trabajo usando un AWS Glue conector a un VPC lugar donde reside la EC2 instancia de Amazon que ejecuta Cassandra. A continuación, con el punto de conexión privado de Amazon S3, puede guardar los datos en el bucket de Amazon S3.

    El siguiente diagrama ilustra estos pasos.

    Migración de datos de Apache Cassandra desde Amazon EC2 ejecutados en un VPC bucket de Amazon S3 mediante AWS Glue.
  2. Mezcla los datos en el bucket de Amazon S3 para mejorar la aleatorización de los datos. Los datos importados de manera uniforme permiten distribuir más el tráfico en la tabla de destino.

    Este paso es obligatorio cuando se exportan datos de Cassandra con particiones grandes (particiones con más de 1000 filas) para evitar patrones de teclas de acceso rápido al insertar los datos en Amazon Keyspaces. Los problemas clave se producen WriteThrottleEvents en Amazon Keyspaces y provocan un aumento del tiempo de carga.

    A AWS Glue job mezcla los datos de un bucket de Amazon S3 y los devuelve a otro bucket de Amazon S3.
  3. Utilice otro AWS Glue trabajo para importar datos del bucket de Amazon S3 a Amazon Keyspaces. Los datos mezclados en el bucket de Amazon S3 se almacenan en formato Parquet.

    La AWS Glue El trabajo de importación toma los datos mezclados del bucket de Amazon S3 y los mueve a una tabla de Amazon Keyspaces.