Ce document décrit le processus de migration de vos données et de votre application vers Spanner Graph. Nous décrivons les étapes de 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 graphique vers Spanner Graph implique les étapes principales suivantes:
- Récoltez les exigences de votre application.
- Concevez votre schéma de graphique Spanner.
- Migrez votre application vers Spanner Graph.
- Tester et ajuster Spanner Graph
- Migrez vos données vers Spanner Graph.
- Validez la migration de vos données.
- Configurez votre mécanisme de basculement et de basculement.
Pour optimiser votre schéma et votre application en termes de performances, vous devrez peut-être concevoir votre schéma de manière itérative, créer votre application, puis tester et ajuster Spanner Graph.
Recueillir les exigences de votre application
Pour concevoir un schéma qui répond aux besoins de votre application, rassemblez les exigences suivantes:
- Modélisation des données
- Modèles de requête courants
- Exigences en termes de latence et de débit
Concevoir votre schéma Spanner Graph
Pour découvrir comment concevoir un schéma Spanner Graph, consultez la section Présentation des schémas Spanner Graph pour découvrir les concepts de base, et Créer, mettre à jour ou supprimer un schéma Spanner Graph 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 à Spanner Graph
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 les mécanismes de mutation de table Spanner. Pour en savoir plus, consultez Insérer, mettre à jour ou supprimer des données de graphique Spanner.
Tester et optimiser Spanner Graph
Les conseils Spanner sur la façon de tester et d'ajuster les performances du schéma et de l'application s'appliquent à Spanner Graph. 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 à partir d'une base de données graphique ou d'une base de données non relationnelle, vous pouvez conserver les données de la base de données source dans des fichiers, les importer dans Cloud Storage, puis les importer à 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 votre schéma définit des contraintes sur les tables d'entrée, assurez-vous qu'elles ne sont pas violées lors de l'importation de données. Les contraintes incluent les éléments suivants:
- Clés étrangères: une contrainte de clé étrangère peut être définie pour la référence d'un arc à un nœud.
- Entrelacement: une table d'entrée de bord peut être entrelacée dans une table d'entrée de nœud. Cet entrelacement définit une relation parent-enfant, avec la contrainte implicite que le parent doit exister avant la création de l'enfant.
L'entité parente d'une organisation entrelacée et l'entité référencée dans la contrainte de clé étrangère doivent être chargées en premier. 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 elles se connectent, vous pouvez rencontrer des erreurs pendant le processus de chargement indiquant que certaines clés n'existent pas.
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écutez-les dans l'ordre. 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 ressources suivantes:
Si vous importez dans le mauvais ordre, la tâche risque d'échouer ou seule une partie de vos données risque d'être migrée. 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 n'est possible que pour le chargement groupé initial ou lors d'une migration avec temps d'arrêt.
Valider votre migration de données
Une fois que vous avez migré vos données, effectuez des requêtes de base pour vérifier leur 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 transition
Configurez vos mécanismes de basculement et de basculement.