En este documento, se describe el proceso de migración de tus datos y tu aplicación a Spanner Graph. Describimos las etapas de migración y las herramientas recomendadas para cada una, según tu base de datos de origen y otros factores.
La migración de tu gráfico a Spanner Graph implica las siguientes etapas principales:
- Recopila los requisitos de tu solicitud.
- Diseña tu esquema de gráfico de Spanner.
- Migra tu aplicación a Spanner Graph.
- Prueba y ajusta Spanner Graph.
- Migra tus datos a Spanner Graph.
- Valida la migración de datos.
- Configura tu mecanismo de conmutación por error y de cambio.
Para optimizar tu esquema y aplicación en términos de rendimiento, es posible que necesites diseñarlo de forma iterativa, compilar la aplicación y probar y ajustar el grafo de Spanner.
Recopila los requisitos de tu solicitud
Para diseñar un esquema que cumpla con las necesidades de tu aplicación, reúne los siguientes requisitos:
- Modelado de datos
- Patrones de consulta comunes
- Requisitos de latencia y capacidad de procesamiento
Diseña tu esquema de Spanner Graph
Para aprender a diseñar un esquema de Spanner Graph, consulta Descripción general del esquema de Spanner Graph para ver los conceptos básicos y Cómo crear, actualizar o descartar un esquema de Spanner Graph para ver más ejemplos. Para optimizar tu esquema para patrones de consulta comunes, consulta Prácticas recomendadas para diseñar un esquema de Spanner Graph.
Migra tu aplicación a Spanner Graph
Primero, lee la guía general de Spanner sobre cómo migrar tu aplicación y, luego, lee la guía de esta sección para obtener información sobre la migración de aplicaciones de Spanner Graph.
Conéctate a Spanner Graph
Para aprender a conectarte de forma programática con Spanner Graph, consulta Cómo crear, actualizar o descartar un esquema de Spanner Graph y la descripción general de las consultas de Spanner Graph.
Cómo migrar consultas
La interfaz de consulta de Spanner Graph es compatible con ISO GQL y, además, incluye compatibilidad adicional con la sintaxis de openCypher. Para obtener más información, consulta la referencia de Spanner Graph para usuarios de openCypher.
Cómo migrar mutaciones
Para migrar la lógica de mutación de tu aplicación, puedes usar los mecanismos de mutación de tablas de Spanner. Para obtener más información, consulta Cómo insertar, actualizar o borrar datos del gráfico de Spanner.
Prueba y ajusta Spanner Graph
La guía de Spanner sobre cómo probar y ajustar el esquema y el rendimiento de la aplicación se aplica a Spanner Graph. Para conocer las prácticas recomendadas de optimización del rendimiento de Spanner Graph, consulta Prácticas recomendadas para diseñar un esquema de Spanner Graph y Prácticas recomendadas para ajustar las consultas de Spanner Graph.
Migra tus datos a Spanner Graph
Para mover tus datos desde una base de datos relacional, consulta Cómo migrar tus datos.
Para mover datos de una base de datos de grafos o una base de datos no relacional, puedes conservar los datos de la base de datos de origen en archivos, subirlos a Cloud Storage y, luego, importarlos con Dataflow. Los formatos de archivo recomendados incluyen AVRO y CSV. Para obtener más información, consulta Formatos recomendados para la migración masiva.
Controla las restricciones
Si tu esquema tiene restricciones definidas en las tablas de entrada, asegúrate de que esas restricciones no se infrinjan durante la importación de datos. Las restricciones incluyen las siguientes:
- Claves externas: Se puede definir una restricción de clave externa para la referencia de un borde a un nodo.
- Intercalación: Una tabla de entrada de borde puede estar intercalada en una tabla de entrada de nodo. Esta intercalación define una relación superior-secundaria, con la restricción implícita de que el elemento superior debe existir antes de que se cree el secundario.
Primero, se deben cargar el elemento superior en una organización intercalada y la entidad a la que se hace referencia en la restricción de clave foránea. Esto significa que primero debes cargar los nodos en el grafo y, luego, cargar los bordes. Cuando cargas aristas antes de cargar los nodos a los que se conectan, es posible que encuentres errores durante el proceso de carga que indiquen que ciertas claves no existen.
Para obtener el orden de importación correcto, usa las plantillas que proporciona Google para definir trabajos de Dataflow separados para cada etapa y, luego, ejecutarlos en secuencia. Por ejemplo, puedes ejecutar un trabajo de Dataflow para importar nudos y, luego, ejecutar otro trabajo de Dataflow para importar aristas. Como alternativa, puedes escribir un trabajo personalizado de Dataflow que administre la secuencia de importación.
Para obtener más información sobre las plantillas que proporciona Google, consulta lo siguiente:
Si realizas la importación en el orden incorrecto, es posible que la tarea falle o que solo se migre parte de tus datos. Si solo se migra una parte de tus datos, vuelve a realizar la migración.
Mejora la eficiencia de carga de datos
Para mejorar la eficiencia de la carga de datos, crea índices secundarios y define claves foráneas después de importar tus datos a Spanner. Este enfoque solo es posible para la carga masiva inicial o durante la migración con tiempo de inactividad.
Valida la migración de datos
Después de migrar tus datos, realiza consultas básicas para verificar su exactitud. Ejecuta las siguientes consultas en las bases de datos de origen y de destino para verificar que los resultados coincidan:
- Cuenta la cantidad de nodos y aristas.
- Cuenta la cantidad de nodos y aristas por etiqueta.
- Calcula las estadísticas (recuento, suma, promedio, mínimo y máximo) en cada nodo y propiedad de borde.
Configura el mecanismo de conmutación por error y de cambio
Configura tus mecanismos de conmutación por error y de cambio.