Migrer vos données vers Spanner Graph

Ce document décrit le processus de migration de vos données et de votre application vers Graphique Spanner. Nous décrivons les étapes de la migration et les outils recommandés. pour chaque étape, en fonction de votre base de données source et d'autres facteurs.

La migration de votre graphe vers Spanner Graph comprend les étapes principales suivantes:

  1. Répertoriez les exigences de votre application.
  2. Concevez votre schéma de graphique Spanner.
  3. Migrez votre application vers Spanner Graph.
  4. Tester et ajuster Spanner Graph
  5. Migrez vos données vers Spanner Graph.
  6. Validez la migration de vos données.
  7. Configurez votre mécanisme de basculement et de basculement.

Pour optimiser les performances de votre schéma et de votre application, vous devrez peut-être concevoir votre schéma de manière itérative, créer votre application, et tester et régler Graphique Spanner.

Rassembler les exigences de votre application

Pour concevoir un schéma qui répond aux besoins de votre application, rassemblez les conditions suivantes:

  • Modélisation des données
  • Schémas de requête courants
  • Exigences en termes de latence et de débit

Concevoir votre schéma Spanner Graph

Pour savoir comment concevoir un schéma de graphique Spanner, consultez la section Présentation du schéma de graphique Spanner pour découvrir les concepts de base, et Créer, mettre à jour ou supprimer un schéma de graphique Spanner pour obtenir d'autres exemples. Pour optimiser votre schéma pour les modèles de requête courants, consultez les bonnes pratiques de conception d'un schéma de graphique Spanner.

Migrer votre application vers Spanner Graph

Commencez par lire les conseils généraux de Spanner sur la migration de votre application, puis consultez les conseils de cette section pour en savoir plus sur la migration des applications Spanner Graph.

Se connecter au graphique Spanner

Pour savoir comment vous connecter de manière programmatique à Spanner Graph, consultez Créer, mettre à jour ou supprimer un schéma Spanner Graph et la présentation des requêtes Spanner Graph.

Migrer les requêtes

L'interface de requête Spanner Graph est compatible avec le GQL ISO et inclut une prise en charge supplémentaire de la syntaxe openCypher. Pour en savoir plus, consultez la documentation de référence sur le graphique Spanner pour les utilisateurs d'openCypher.

Migrer les mutations

Pour migrer la logique de mutation de votre application, vous pouvez utiliser la table Spanner des mécanismes de mutation. Pour en savoir plus, consultez Insérer, mettre à jour ou supprimer des données de graphique Spanner.

Tester et régler le graphique Spanner

Conseils de Spanner sur le test et l'ajustement du schéma et des performances des applications s'applique au graphe Spanner. Pour découvrir les bonnes pratiques d'optimisation des performances de Spanner Graph, consultez les pages Bonnes pratiques pour concevoir un schéma Spanner Graph et Bonnes pratiques pour optimiser les requêtes Spanner Graph.

Migrer vos données vers Spanner Graph

Pour déplacer vos données à partir d'une base de données relationnelle, consultez Migrer vos données.

Pour déplacer des données depuis une base de données orientée graphe ou non relationnelle, vous pouvez conserver de la base de données source dans des fichiers, importer ces fichiers dans Cloud Storage, puis importer les fichiers à l'aide de Dataflow. Les formats de fichier recommandés incluent AVRO et CSV. Pour en savoir plus, consultez la section Formats recommandés pour la migration groupée.

Gérer les contraintes

Si des contraintes sont définies sur les tables d'entrée dans votre schéma, assurez-vous que ces contraintes les contraintes ne sont pas enfreintes lors de l'importation de données. Les contraintes incluent les éléments suivants :

  • Foreign Keys (Clés étrangères) : une contrainte de clé étrangère peut être définie pour la valeur référence à un nœud.
  • Entrelacement: une table d'entrée périphérique peut être entrelacée dans une entrée de nœud. tableau. Cet entrelacement définit une relation parent-enfant, avec la contrainte implicite que le parent doit exister avant la création de l'enfant.

Le parent dans une organisation entrelacée et l'entité référencée dans le doit d'abord être chargée. Cela signifie que vous devez d'abord charger les nœuds du graphique, puis les arêtes. Lorsque vous chargez des arêtes avant de charger les nœuds auxquels les arêtes se connectent, vous pouvez rencontrer des erreurs de chargement qui indiquent l'absence de certaines clés.

Pour obtenir l'ordre d'importation correct, utilisez les modèles fournis par Google pour définir des jobs Dataflow distincts pour chaque étape, puis exécutent ces jobs dans séquence. Par exemple, vous pouvez exécuter une tâche Dataflow pour importer des nœuds, puis une autre tâche Dataflow pour importer des arêtes. Vous pouvez également écrire une tâche Dataflow personnalisée qui gère la séquence d'importation.

Pour en savoir plus sur les modèles fournis par Google, consultez les pages suivantes:

Si vous les importez dans le mauvais ordre, le job peut échouer ou seulement une partie de vos données peuvent être migrées. Si seule une partie de vos données est migrée, effectuez à nouveau la migration.

Améliorer l'efficacité du chargement des données

Pour améliorer l'efficacité du chargement des données, créez des index secondaires et définissez des clés étrangères après avoir importé vos données dans Spanner. Cette approche ne concerne lors du chargement groupé initial ou lors de la migration avec un temps d'arrêt.

Valider la migration de vos données

Après avoir migré vos données, effectuez des requêtes de base pour vérifier les données l'exactitude. Exécutez les requêtes suivantes sur les bases de données source et de destination pour vérifier que les résultats correspondent :

  • Comptez le nombre de nœuds et d'arêtes.
  • Comptez le nombre de nœuds et d'arêtes par étiquette.
  • Calculez des statistiques (nombre, somme, moyenne, min, max) sur chaque propriété de nœud et d'arête.

Configurer le mécanisme de basculement et de basculement

Configurez vos mécanismes de basculement et de basculement.

Étape suivante