Después de optimizar tu esquema de Spanner y migrar tu aplicación, puedes mover tus datos a una base de datos de Spanner vacía del tamaño de producción y, luego, cambiar tu aplicación para que use la base de datos de Spanner.
Según tu caso de uso, es posible que puedas realizar una migración de datos en vivo con un tiempo de inactividad mínimo o que necesites un tiempo de inactividad prolongado para realizar la migración de datos.
Si tu aplicación no puede permitirse mucho tiempo de inactividad, considera realizar una migración de datos en vivo. Si tu aplicación puede controlar el tiempo de inactividad, puedes considerar la migración con tiempo de inactividad.
En una migración de datos en vivo, debes configurar la infraestructura de red necesaria para que los datos fluyan entre tu base de datos de origen, la base de datos de Spanner de destino y las herramientas que usas para realizar la migración de datos. Debes decidir la conectividad de red privada o pública según los requisitos de cumplimiento de tu organización. Es posible que necesites que el administrador de red de tu organización configure la infraestructura.
Migración de datos en vivo
Una migración de datos en vivo consta de dos componentes:
- Migrar los datos en una instantánea coherente de tu base de datos de origen
- Migrar el flujo de cambios (inserciones, actualizaciones y eliminaciones) desde esa instantánea, lo que se conoce como captura de datos modificados (CDC)
Si bien las migraciones de datos en vivo ayudan a proteger tus datos, el proceso implica desafíos, incluidos los siguientes:
- Almacenar datos de CDC mientras se migra la instantánea
- Escribir los datos de CDC en Spanner mientras se captura el flujo de CDC entrante
- Asegurarse de que la migración de datos de CDC a Spanner sea más rápida que el flujo de CDC entrante
Migración con tiempo de inactividad
Si tu base de datos de origen puede exportar a CSV o Avro, puedes migrar a Spanner con tiempo de inactividad. Para obtener más información, consulta Descripción general de la importación y exportación de Spanner.
Las migraciones con tiempo de inactividad se pueden usar para entornos de prueba o aplicaciones que pueden controlar unas horas de tiempo de inactividad. En una base de datos en vivo, una migración con tiempo de inactividad puede provocar la pérdida de datos.
Para realizar una migración con tiempo de inactividad, considera el siguiente enfoque de alto nivel:
- Detén tu aplicación y genera un archivo de volcado de los datos de la base de datos de origen.
- Sube el archivo de volcado a Cloud Storage en un formato de volcado de MySQL, PostgreSQL, Avro o CSV.
- Carga el archivo de volcado en Spanner con Dataflow o la herramienta de migración de Spanner.
Generar varios archivos de volcado pequeños hace que sea más rápido escribir en Spanner, ya que Spanner puede leer varios archivos de volcado en paralelo.
Cuando generes un archivo de volcado desde la base de datos de origen, ten en cuenta lo siguiente para generar una instantánea coherente de los datos:
- Antes de realizar el volcado, aplica un bloqueo de lectura en la base de datos de origen para evitar que los datos cambien durante la generación del archivo de volcado.
- Como alternativa, genera el archivo de volcado con una réplica de lectura de la base de datos de origen con la replicación inhabilitada.
Guías específicas de la fuente
- MySQL: Migra tus datos de MySQL.