Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
La migration d'un schéma de votre base de données source vers Spanner implique un processus en plusieurs étapes qui combine des outils automatisés avec une analyse et un affinement manuels. Les étapes suivantes décrivent l'approche recommandée:
Extraction de schéma: extrayez la définition du schéma (DDL) de votre base de données source.
Conversion initiale: vous pouvez envisager d'utiliser un outil de conversion de schéma automatisé, tel que l'outil de migration Spanner (SMT), qui peut gérer de nombreuses conversions structurelles et de mappage de types de données de base.
Examen et affinement détaillés du schéma: envisagez de convertir le schéma de votre base de données source, qui est plus compatible avec Spanner, en modifications plus petites et délibérées, qui peuvent être testées et optimisées individuellement afin de réduire le risque de tout modifier en même temps.
Mappage des types de données: examinez et affinez le mappage des types de données généré par SMT. Assurez-vous que les types de données Spanner représentent précisément la plage, la précision et la sémantique des types de bases de données sources correspondants.
Clés primaires et entrelacement: identifiez les possibilités d'utiliser les tables entrelacées de Spanner pour modéliser les relations parent-enfant présentes dans le schéma de la base de données source. Choisissez des stratégies de clé primaire appropriées pour Spanner, par exemple en utilisant des UUID. SMT peut vous aider à choisir une stratégie de clé primaire appropriée. Tenez compte des conséquences sur la localité des données et l'évitement des points chauds. Évaluez comment les contraintes de clé étrangère sont utilisées dans votre base de données source et déterminez comment les gérer dans Spanner. Pour en savoir plus, consultez la section Relations entre les tables parent-enfant.
Optimisation des index: analysez les index existants dans votre base de données source et concevez des index Spanner pour optimiser les performances des requêtes.
Envisagez de supprimer les index peu utilisés.
Supprimez les incompatibilités: supprimez ou réécrivez toutes les fonctionnalités spécifiques à la base de données source qui ne sont pas compatibles avec Spanner. Par exemple, Spanner n'est pas compatible avec les procédures stockées ni les déclencheurs. Vous devrez peut-être refactoriser le code de l'application.
Déploiement du schéma: déployez le schéma Spanner dans un environnement de développement ou de préproduction.
Tests et améliorations itératifs : chargez des exemples de données et testez le schéma avec des interactions d'application représentatives. Surveillez les performances et identifiez les axes d'amélioration. Affinez le schéma en fonction des résultats des tests. Répétez ce processus jusqu'à ce que le schéma réponde aux exigences fonctionnelles et de performances de votre application.
Validation de schéma: développez des scripts ou des procédures pour comparer la structure de la base de données source et les schémas Spanner afin de vous assurer que la conversion a été effectuée correctement.
Déploiement final du schéma: déployez le schéma validé et affiné dans l'instance de production Spanner.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/05 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/05 (UTC)."],[],[],null,["# Migrate your schema\n\nMigrating a schema from your source database to Spanner involves a\nmulti-step process that combines automated tooling with manual analysis\nand refinement. The following steps outline the recommended approach:\n\n1. **Schema extraction**: Extract the schema definition (DDL) from your source\n database.\n\n2. **Initial conversion** : You can consider using an automated\n schema conversion tool, such as\n [Spanner migration tool (SMT)](https://github.com/GoogleCloudPlatform/spanner-migration-tool),\n which can handle many of the basic data type mapping and structural\n conversions.\n\n3. **Detailed schema review and refinement**: Consider converting your source\n database schema that's more compatible with Spanner in smaller,\n deliberate changes, that can be individually tested and optimized to reduce\n the risk of changing everything at once.\n\n 1. **Data type mapping**: Review and refine the data type mapping generated by SMT. Ensure that Spanner data types accurately represent the range, precision, and semantics of the corresponding source database types.\n 2. **Primary keys and interleaving** : Identify opportunities to use Spanner's interleaved tables to model parent-child relationships present in the source database schema. Choose appropriate [primary key strategies](/spanner/docs/schema-design#primary-key-prevent-hotspots) for Spanner such as using UUIDs. SMT can help you choose an appropriate primary key strategy. Consider the implications for data locality and hotspot avoidance. Evaluate how foreign key constraints are used in your source database and determine how to handle them in Spanner. For more information, see [Parent-child table relationships](/spanner/docs/schema-and-data-model#parent-child).\n 3. **Index optimization**: Analyze existing indexes in your source database and design Spanner indexes to optimize query performance. Consider dropping infrequently used indexes.\n 4. **Remove incompatibilities**: Remove or rewrite any source database specific features that aren't supported in Spanner. For example, Spanner doesn't support stored procedures or triggers. This might require you to refactor application code.\n4. **Schema deployment**: Deploy the Spanner schema to a\n development or staging environment.\n\n5. **Iterative testing and refinement** :\n [Load sample data](/spanner/docs/load-sample-data)\n and test the schema with representative application interactions. Monitor\n performance and identify areas of improvement. Refine the schema based on the\n results of testing. Repeat this process until the schema meets your application's\n performance and functional requirements.\n\n6. **Schema validation**: Develop scripts or procedures to compare the structure\n of the source database and Spanner schemas to ensure that the\n conversion was performed correctly.\n\n7. **Final schema deployment**: Deploy the validated and refined schema to the\n Spanner production instance.\n\nSource specific guides\n----------------------\n\n- MySQL: [Migrate MySQL schema](/spanner/docs/migrate-mysql-schema)."]]