Después de optimizar el esquema de Spanner y migrar la aplicación, puede mover los datos a una base de datos de Spanner vacía con el tamaño de producción y, a continuación, cambiar la aplicación para que use la base de datos de Spanner.
En función de tu caso de uso, es posible que puedas realizar una migración de datos en tiempo real con un tiempo de inactividad mínimo, o bien que necesites un tiempo de inactividad prolongado para llevar a cabo la migración de datos.
Si tu aplicación no puede permitirse mucho tiempo de inactividad, te recomendamos que realices una migración de datos activa. Si tu aplicación puede tolerar el tiempo de inactividad, puedes migrar con tiempo de inactividad.
En una migración de datos activos, debe configurar la infraestructura de red necesaria para que los datos fluyan entre la base de datos de origen, la base de datos de Spanner de destino y las herramientas que utilice para llevar a cabo la migración de datos. Debes decidir si quieres usar una red privada o pública en función de los requisitos de cumplimiento de tu organización. Es posible que necesites que el administrador de la red de tu organización configure la infraestructura.
Migración de datos activa
Una migración de datos activa consta de dos componentes:
- Migrar los datos en una copia coherente de la 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 de cambios (CDC).
Aunque las migraciones de datos en tiempo real ayudan a proteger tus datos, el proceso conlleva algunos retos, como 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 el artículo Descripción general de la importación y exportación de Spanner.
Las migraciones con tiempo de inactividad se pueden usar en entornos de prueba o aplicaciones que puedan tolerar unas horas de inactividad. En una base de datos activa, una migración con tiempo de inactividad puede provocar la pérdida de datos.
Para llevar a cabo una migración con tiempo de inactividad, sigue este enfoque general:
- Detenga la aplicación y genere un archivo de volcado de los datos de la base de datos de origen.
- Sube el archivo de volcado a Cloud Storage en formato de volcado MySQL, PostgreSQL, Avro o CSV.
- Carga el archivo de volcado en Spanner mediante Dataflow o la herramienta de migración de Spanner.
Si se generan varios archivos de volcado pequeños, se puede escribir en Spanner más rápido, ya que Spanner puede leer varios archivos de volcado en paralelo.
Cuando genere un archivo de volcado de la base de datos de origen, tenga en cuenta lo siguiente para generar una instantánea de datos coherente:
- 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.
- También puede generar el archivo de volcado mediante una réplica de lectura de la base de datos de origen con la replicación inhabilitada.