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.
Guias específicos da fonte
- MySQL: Migrar o esquema do MySQL.