Migra de Apache Cassandra a Bigtable
En este documento, se explica el proceso de migración de datos de Apache Cassandra a Bigtable con una interrupción mínima. En ella, se describe cómo usar herramientas de código abierto, como el adaptador de proxy de Cassandra a Bigtable o el cliente de Cassandra a Bigtable para Java, para realizar la migración. Antes de comenzar, asegúrate de conocer Bigtable para usuarios de Cassandra.
Elige un enfoque de migración
Puedes migrar de Apache Cassandra a Bigtable con uno de los siguientes enfoques:
- El adaptador de proxy de Cassandra a Bigtable te permite conectar aplicaciones basadas en Cassandra a Bigtable sin cambiar los controladores de Cassandra. Este enfoque es ideal para las aplicaciones que requieren cambios mínimos en el código.
- El cliente de Cassandra a Bigtable para Java te permite integrar directamente Bigtable y reemplazar tus controladores de Cassandra. Este enfoque es ideal para las aplicaciones que requieren alto rendimiento y flexibilidad.
Adaptador de proxy de Cassandra a Bigtable
El adaptador de proxy de Cassandra a Bigtable te permite conectar aplicaciones basadas en Cassandra a Bigtable. El adaptador de proxy funciona como una interfaz de Cassandra compatible con cables y permite que tu aplicación interactúe con Bigtable usando el lenguaje de consultas de Cassandra (CQL). El uso del adaptador de proxy no requiere que cambies los controladores de Cassandra, y los ajustes de configuración son mínimos.
Para configurar el adaptador de proxy, consulta Adaptador de proxy de Cassandra a Bigtable.
Para saber qué versiones de Cassandra admiten el adaptador de proxy, consulta Versiones de Cassandra compatibles.
Limitaciones
El adaptador de proxy de Cassandra a Bigtable proporciona compatibilidad limitada con ciertos tipos de datos, funciones, consultas y cláusulas. Para obtener más información, consulta Cassandra to Bigtable Proxy - Limitations (Proxy de Cassandra a Bigtable: Limitaciones).
Espacio de claves de Cassandra
Un espacio de claves de Cassandra almacena tus tablas y administra los recursos de manera similar a una instancia de Bigtable. El adaptador de proxy de Cassandra a Bigtable controla la nomenclatura del espacio de claves de forma transparente, de modo que puedes realizar consultas con los mismos espacios de claves. Sin embargo, debes crear una nueva instancia de Bigtable para lograr una agrupación lógica de tus tablas. También debes configurar la replicación de Bigtable por separado.
Compatibilidad con DDL
El adaptador de proxy de Cassandra a Bigtable admite operaciones del lenguaje de definición de datos (DDL). Las operaciones de DDL te permiten crear y administrar tablas directamente a través de comandos de CQL. Recomendamos este enfoque para configurar tu esquema, ya que es similar a SQL, pero no necesitas definir tu esquema en archivos de configuración y, luego, ejecutar secuencias de comandos para crear tablas.
En los siguientes ejemplos, se muestra cómo el adaptador de proxy de Cassandra a Bigtable admite operaciones de DDL:
Para crear una tabla de Cassandra con CQL, ejecuta el comando
CREATE TABLE
:CREATE TABLE keyspace.table ( id bigint, name text, age int, PRIMARY KEY ((id), name) );
Para agregar una columna nueva a la tabla, ejecuta el comando
ALTER TABLE
:ALTER TABLE keyspace.table ADD email text;
Para borrar una tabla, ejecuta el comando
DROP TABLE
:DROP TABLE keyspace.table;
Para obtener más información, consulta DDL Support for Schema Creation (Recommended Method).
Compatibilidad con DML
El adaptador de proxy de Cassandra a Bigtable admite operaciones de lenguaje de manipulación de datos (DML), como INSERT
, DELETE
, UPDATE
y SELECT
.
Para ejecutar las consultas DML sin procesar, todos los valores, excepto los numéricos, deben tener comillas simples, como se muestra en los siguientes ejemplos:
SELECT * FROM keyspace.table WHERE name='john doe';
INSERT INTO keyspace.table (id, name) VALUES (1, 'john doe');
Lograr una migración sin tiempo de inactividad
Puedes usar el adaptador de proxy de Cassandra a Bigtable con la herramienta de proxy de migración sin tiempo de inactividad (ZDM) de código abierto y la herramienta de migrador de datos de Cassandra para migrar datos con un tiempo de inactividad mínimo.
En el siguiente diagrama, se muestran los pasos para migrar de Cassandra a Bigtable con el adaptador de proxy:


Para migrar Cassandra a Bigtable, sigue estos pasos:
- Conecta tu aplicación de Cassandra a la herramienta de proxy de ZDM.
- Habilita las escrituras dobles en Cassandra y Bigtable.
- Mueve datos de forma masiva con la herramienta Cassandra data migrator.
- Valida la migración. Una vez validada, puedes finalizar la conexión a Cassandra y conectarte directamente a Bigtable.
Cuando se usa el adaptador de proxy con la herramienta de proxy de ZDM, se admiten las siguientes capacidades de migración:
- Escrituras duales: Mantén la disponibilidad de los datos durante la migración
- Lecturas asíncronas: Realiza pruebas de carga y de escalabilidad en tu instancia de Bigtable
- Verificación y generación de informes de datos automatizados: Garantiza la integridad de los datos durante todo el proceso.
- Asignación de datos: Asigna los tipos de datos y campos para cumplir con tus estándares de producción.
Para practicar la migración de Cassandra a Bigtable, consulta el codelab Migración de Cassandra a Bigtable con un proxy de escritura doble.
Cliente de Cassandra a Bigtable para Java
Puedes realizar la integración directamente con Bigtable y reemplazar tus controladores de Cassandra. La biblioteca cliente de Cassandra a Bigtable para Java te permite integrar aplicaciones basadas en Cassandra con Bigtable usando CQL.
Si deseas obtener instrucciones para compilar la biblioteca y, luego, incluir la dependencia en el código de la aplicación, consulta Cliente de Cassandra a Bigtable para Java.
En el siguiente ejemplo, se muestra cómo configurar tu aplicación con el cliente de Cassandra a Bigtable para Java:
Herramientas adicionales de código abierto de Cassandra
Debido a la compatibilidad de cableado del adaptador de proxy de Cassandra a Bigtable con CQL, puedes usar herramientas adicionales en el ecosistema de código abierto de Cassandra. Estas herramientas incluyen lo siguiente:
- Cqlsh: El shell de CQL te permite conectarte directamente a Bigtable a través del adaptador de proxy. Puedes usarlo para depurar y realizar búsquedas rápidas de datos con CQL.
- Cassandra Data Migrator (CDM): Esta herramienta basada en Spark es adecuada para migrar grandes volúmenes (hasta miles de millones de filas) de datos históricos. La herramienta proporciona capacidades de validación, informes de diferencias y reproducción, y es totalmente compatible con el adaptador de proxy.