Migrar a Firestore con compatibilidad con MongoDB
En esta guía se explica paso a paso cómo migrar tu base de datos de origen compatible con MongoDB a una base de datos de Firestore compatible con MongoDB con un tiempo de inactividad mínimo.
Acerca del proceso de migración
El proceso de migración consta de las siguientes fases:
Preparación: crea los recursos necesarios para la migración y configura las variables de entorno que se usarán para ejecutar comandos en fases posteriores del proceso de migración.
Importar desde la base de datos de origen compatible con MongoDB: usa el servicio Datastream para capturar el contenido de tu base de datos de origen compatible con MongoDB y transferirlo a un segmento de Cloud Storage.
Escribir datos en una base de datos de Firestore con compatibilidad con MongoDB: usa el servicio Dataflow para transferir datos del segmento de Cloud Storage a una base de datos de Firestore con compatibilidad con MongoDB.
Esta canalización de Dataflow se ejecutará simultáneamente con el flujo de Datastream que extrae datos de la base de datos de origen compatible con MongoDB.
Migrar el tráfico a Firestore: en el momento adecuado del procedimiento, migra el tráfico de lectura y escritura de tu aplicación a la base de datos de Firestore con compatibilidad con MongoDB y detén la canalización de migración.
En el siguiente diagrama se resume el proceso de migración:
La base de datos de origen compatible con MongoDB permanece en estado de servicio mientras se realiza la transferencia de datos:
- El proceso de Datastream captura tanto los datos en reposo como los eventos de cambio.
Habrá un breve periodo de disponibilidad parcial cuando tengas que cerrar el tráfico de escritura en tu base de datos de origen. Durante este periodo, el resto de los eventos de cambio se replica en Firestore.
Una vez que se haya completado la réplica, la base de datos de Firestore con compatibilidad con MongoDB puede convertirse en la nueva fuente de información fiable de la carga de trabajo de tu aplicación. Todo el tráfico de lectura y escritura se puede dirigir a la nueva base de datos.
Pasos detallados de la migración
En esta sección se describe la migración con más detalle.
El servicio Datastream crea un flujo entre un origen y un destino. En este caso, el origen es tu implementación compatible con MongoDB, mientras que el destino es Cloud Storage. Este proceso consta de los siguientes pasos:
Crea un perfil de conexión de Datastream de origen para tu origen de MongoDB. Las instrucciones específicas dependen del tipo y de la forma en que se implemente la fuente compatible con MongoDB.
Crea un segmento de Cloud Storage que reciba los datos y los eventos de cambio de tu base de datos de origen compatible con MongoDB.
Crea un perfil de conexión de Datastream de destino que use este segmento de Cloud Storage.
Crea y activa un flujo de Datastream que conecte el perfil de conexión de origen con el de destino.
Inicia una canalización de Dataflow para empezar a insertar los datos capturados en tu base de datos de Firestore con compatibilidad con MongoDB.
Monitoriza el flujo para identificar hitos importantes del proceso de migración y determinar si se ha producido algún error durante la transferencia de datos.
Cuando sea oportuno, cierra el tráfico de escritura a la base de datos de origen. Una vez que se hayan replicado todos los datos, incluidos los cambios recientes, en la base de datos de Firestore con compatibilidad con MongoDB, redirige el tráfico de lectura al nuevo destino.
Habilita el tráfico de escritura en tu base de datos de Firestore con compatibilidad con MongoDB.
Información sobre los ejemplos de código
Los ejemplos de código de esta guía se han diseñado para que se ejecuten uno después de otro. En esta guía se da por hecho que configuras tu entorno definiendo todas las variables de entorno de antemano. Después, ejecuta los comandos necesarios para la migración que usen las variables de entorno ya configuradas. Te recomendamos que utilices este método. Como muchos comandos usan las mismas variables de entorno, puedes reducir la probabilidad de que se produzcan errores entre las diferentes fases del proceso de migración.
También puedes sustituir las variables de los ejemplos de comandos por los mismos valores que hayas definido para las variables de entorno correspondientes.
Limitaciones
Antes de empezar, consulta las diferencias entre Firestore con compatibilidad con MongoDB y MongoDB. Presta especial atención a lo siguiente:
Si alguno de tus datos no cumple las restricciones de las categorías anteriores:
Le recomendamos que aborde estas condiciones en su conjunto de datos antes de iniciar el proceso de migración.
Si decides continuar sin hacer cambios, los documentos afectados por las limitaciones no se escribirán en Firestore y se dejarán de lado. Puedes decidir cómo se deben gestionar estos documentos. Si se convierten a tipos, valores o tamaños admitidos, se pueden volver a procesar.
Datastream tiene los siguientes requisitos:
La versión principal mínima de MongoDB compatible con Datastream es la 4.0. En algunas versiones secundarias, se admiten versiones de parche mínimas:
- 4.0.21
- 4.2.10
- 4.4.2
Tu clúster de MongoDB debe admitir Change Streams. Tu implementación de MongoDB debe configurarse como un conjunto de réplicas o un clúster fragmentado para que se habiliten los flujos de cambios.
Siguientes pasos
Ve a Configurar recursos para la migración.