Migrar datos a Spanner Graph

En este documento se describe el proceso de migración de tus datos y tu aplicación a Spanner Graph. Describimos las fases de la migración y las herramientas recomendadas para cada fase, en función de tu base de datos de origen y otros factores.

Para migrar tu gráfico a Spanner Graph, debes seguir estas fases principales:

  1. Reúne los requisitos de tu aplicación.
  2. Diseña tu esquema de Spanner Graph.
  3. Migra tu aplicación a Spanner Graph.
  4. Prueba y ajusta Spanner Graph.
  5. Migra tus datos a Spanner Graph.
  6. Valida la migración de datos.
  7. Configura tu mecanismo de cambio y conmutación por error.

Para optimizar el esquema y la aplicación de cara al rendimiento, es posible que tengas que diseñar el esquema de forma iterativa, crear la aplicación y probar y ajustar Spanner Graph.

Reúne los requisitos de tu aplicación

Para diseñar un esquema que se ajuste a las necesidades de tu aplicación, debes reunir los siguientes requisitos:

  • Modelado de datos
  • Patrones de consulta habituales
  • Requisitos de latencia y rendimiento

Diseñar el esquema de Spanner Graph

Para saber cómo diseñar un esquema de Spanner Graph, consulta el artículo Descripción general del esquema de Spanner Graph para conocer los conceptos básicos y el artículo Crear, actualizar o eliminar un esquema de Spanner Graph para ver más ejemplos. Para optimizar tu esquema de acuerdo con los patrones de consulta habituales, consulta las prácticas recomendadas para diseñar un esquema de gráfico de Spanner.

Migrar una aplicación a Spanner Graph

Primero, lee las directrices generales de Spanner sobre cómo migrar tu aplicación y, después, consulta las directrices de esta sección para obtener información sobre la migración de aplicaciones de Spanner Graph.

Conectarse a Spanner Graph

Para saber cómo conectarte a Spanner Graph mediante programación, consulta el artículo Crear, actualizar o eliminar un esquema de Spanner Graph y la descripción general de las consultas de Spanner Graph.

Migrar consultas

La interfaz de consulta de Spanner Graph es compatible con GQL de la ISO e incluye compatibilidad adicional con la sintaxis de openCypher. Para obtener más información, consulta la referencia de gráficos de Spanner para usuarios de openCypher.

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 Insertar, actualizar o eliminar datos de gráficos de Spanner.

Probar y optimizar Spanner Graph

Las directrices de Spanner sobre cómo probar y optimizar el rendimiento de esquemas y aplicaciones se aplican a Spanner Graph. Para consultar las prácticas recomendadas para optimizar el rendimiento de Spanner Graph, consulta Prácticas recomendadas para diseñar un esquema de Spanner Graph y Prácticas recomendadas para optimizar las consultas de Spanner Graph.

Migrar datos a Spanner Graph

Para mover tus datos de una base de datos relacional, consulta el artículo Migrar datos.

Para mover datos de una base de datos de grafos o de una base de datos no relacional, puedes conservar los datos de la base de datos de origen en archivos, subir los archivos a Cloud Storage y, a continuación, importarlos con Dataflow. Los formatos de archivo recomendados son AVRO y CSV. Para obtener más información, consulta Formatos recomendados para la migración en bloque.

Restricciones de controlador

Si tu esquema tiene restricciones definidas en las tablas de entrada, asegúrate de que no se infrinjan durante la importación de datos. Entre las restricciones se incluyen las siguientes:

  • Claves externas: se puede definir una restricción de clave externa para la referencia de un borde a un nodo.
  • Entrelazado: una tabla de entrada de arista se puede entrelazar en una tabla de entrada de nodo. Este entrelazado define una relación entre elementos superiores y secundarios, con la restricción implícita de que el elemento superior debe existir antes de que se cree el secundario.

El elemento superior de una organización intercalada y la entidad a la que se hace referencia en la restricción de clave externa deben cargarse primero. Esto significa que primero debes cargar los nodos del gráfico y, después, las aristas. Si cargas los bordes antes que los nodos a los que se conectan, es posible que se produzcan errores durante el proceso de carga que indiquen que no existen determinadas claves.

Para conseguir el orden de importación correcto, utiliza las plantillas proporcionadas por Google para definir tareas de Dataflow independientes para cada fase y, a continuación, ejecuta las tareas en secuencia. Por ejemplo, puedes ejecutar una tarea de Dataflow para importar nodos y, a continuación, ejecutar otra tarea de Dataflow para importar aristas. También puedes escribir un trabajo de Dataflow personalizado que gestione la secuencia de importación.

Para obtener más información sobre las plantillas proporcionadas por Google, consulta lo siguiente:

Si los importas en el orden incorrecto, es posible que la tarea falle o que solo se migre una parte de los datos. Si solo se migra una parte de tus datos, vuelve a realizar la migración.

Mejorar la eficiencia de la carga de datos

Para mejorar la eficiencia de la carga de datos, cree índices secundarios y defina claves externas después de importar los datos a Spanner. Este método solo se puede usar para la carga inicial masiva o durante la migración con tiempo de inactividad.

Validar la migración de datos

Una vez que haya migrado los datos, realice consultas básicas para comprobar que son correctos. Ejecuta las siguientes consultas en las bases de datos de origen y de destino para verificar que los resultados coinciden:

  • Cuenta el número de nodos y aristas.
  • Cuenta el número de nodos y aristas por etiqueta.
  • Calcula estadísticas (recuento, suma, media, mínimo y máximo) de cada propiedad de nodo y de arista.

Configurar el mecanismo de cambio y conmutación por error

Configura los mecanismos de cambio y de conmutación por error.

Siguientes pasos