Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
A migração de um esquema do seu banco de dados de origem para o Spanner envolve um
processo com várias etapas que combina ferramentas automatizadas com análise
e refinamento manual. As etapas a seguir descrevem a abordagem recomendada:
Extração de esquema: extraia a definição do esquema (DDL) do banco de dados de origem.
Conversão inicial: use uma ferramenta automatizada
de conversão de esquema, como a
ferramenta de migração do Spanner (SMT),
que pode processar muitas das conversões estruturais e mapeamentos de tipo de dados básicos.
Revisão e refinamento detalhados do esquema: considere converter o esquema do banco de dados de origem
que é mais compatível com o Spanner em mudanças menores e
deliberadas, que podem ser testadas e otimizadas individualmente para reduzir
o risco de mudar tudo de uma vez.
Mapeamento do tipo de dados: revise e refine o mapeamento do tipo de dados gerado
pelo SMT. Verifique se os tipos de dados do Spanner representam com precisão
o intervalo, a precisão e a semântica dos tipos de banco de dados de origem
correspondentes.
Chaves primárias e intercalação: identifique oportunidades para usar
as tabelas intercaladas do Spanner para modelar relacionamentos pai-filho
presentes no esquema do banco de dados de origem. Escolha as estratégias de chave primária
adequadas para o Spanner, como o uso de UUIDs. A SMT pode ajudar você a escolher uma
estratégia de chave primária adequada. Considere
as implicações para a localidade de dados e a prevenção de pontos de acesso. Avalie como as restrições de chave estrangeira são usadas no banco de dados de origem e determine como gerenciá-las no Spanner. Para mais informações, consulte
Relacionamentos de tabelas pai-filho.
Otimização de índice: analise os índices existentes no seu banco de dados de origem
e projete índices do Spanner para otimizar o desempenho da consulta.
Considere excluir índices usados com pouca frequência.
Remover incompatibilidades: remova ou reescreva os recursos específicos do banco de dados de origem que não têm suporte no Spanner. Por
exemplo, o Spanner não oferece suporte a procedimentos armazenados ou
gatilhos. Talvez seja necessário refatorar o código do aplicativo.
Implantação de esquema: implante o esquema do Spanner em um
ambiente de desenvolvimento ou de preparação.
Teste iterativo e refinamento:
carregue dados de amostra
e teste o esquema com interações de aplicativos representativas. Monitore
a performance e identifique áreas de melhoria. Refinar o esquema com base nos
resultados dos testes. Repita esse processo até que o esquema atenda aos requisitos de desempenho
e funcionais do aplicativo.
Validação de esquema: desenvolva scripts ou procedimentos para comparar a estrutura
do banco de dados de origem e os esquemas do Spanner para garantir que a
conversão foi realizada corretamente.
Implantação final do esquema: implante o esquema validado e refinado na instância de produção do Spanner.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-11 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)."]]