Como converter esquemas de bancos de dados usando a AWS SCT - AWS Schema Conversion Tool

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como converter esquemas de bancos de dados usando a AWS SCT

Você pode usar a AWS Schema Conversion Tool (AWS SCT) para converter esquemas de bancos de dados existentes de um mecanismo de banco de dados para outro. Converter um banco de dados usando a interface do usuário da AWS SCT pode ser bastante simples, mas há vários aspectos a considerar antes de fazer a conversão.

Por exemplo, você pode usar a AWS SCT para fazer o seguinte:

  • Você pode usar a AWS SCT para copiar um esquema de banco de dados on-premises existente para uma instância de banco de dados do Amazon RDS que esteja executando o mesmo mecanismo. Você pode usar esse recurso para analisar possíveis economias de custo ao mudar para a nuvem e ao alterar o tipo de licença.

  • Em alguns casos, os recursos do banco de dados não podem ser convertidos em recursos do Amazon RDS equivalentes. Se você hospedar e gerenciar um banco de dados na plataforma Amazon Elastic Compute Cloud (Amazon EC2), será possível emular esses recursos, substituindo os serviços da AWS por eles.

  • A AWS SCT automatiza grande parte do processo de conversão do esquema de banco de dados do processamento de transações online (OLTP) para uma instância de banco de dados MySQL do Amazon Relational Database Service (Amazon RDS), para um cluster de banco de dados do Amazon Aurora ou para uma instância de banco de dados PostgreSQL. Os mecanismos de banco de dados de origem e de destino contêm diversos recursos e capacidades, e a AWS SCT tentará criar um esquema equivalente na instância de banco de dados do Amazon RDS sempre que possível. Se a conversão direta não for possível, a AWS SCT fornecerá uma lista de ações possíveis para você executar.

A AWS SCT suporta as seguintes conversões de processamento de transações online (OLTP).

Fonte do banco de dados Bancos de dados de destino:

IBM Db2 para z/OS (versão 12)

Amazon Aurora Edição Compatível com MySQL, Amazon Aurora Edição Compatível com PostgreSQL, MySQL, PostgreSQL

IBM Db2 LUW (versões 9.1, 9.5, 9.7, 10.5, 11.1 e 11.5)

Aurora MySQL, Aurora PostgreSQL, MariaDB, MySQL, PostgreSQL

Banco de dados do Microsoft Azure SQL

Aurora MySQL, Aurora PostgreSQL, MySQL, PostgreSQL

Microsoft SQL Server (versão 2008 R2 e superior)

Aurora MySQL, Aurora PostgreSQL, Babelfish para Aurora PostgreSQL, MariaDB, Microsoft SQL Server, MySQL, PostgreSQL

MySQL (versão 5.5 e superior)

Aurora PostgreSQL, MySQL, PostgreSQL

Você pode migrar o esquema e os dados do MySQL para um cluster de banco de dados do Aurora MySQL sem usar a AWS SCT. Para obter mais informações, consulte Migração de dados para um cluster de banco de dados do Amazon Aurora.

Oracle (versão 10.2 e superior)

Aurora MySQL, Aurora PostgreSQL, MariaDB, MySQL, Oracle, PostgreSQL

PostgreSQL (versão 9.1 e superior)

Aurora MySQL, Aurora PostgreSQL, MySQL, PostgreSQL

SAP ASE (12.5, 15.0, 15.5, 15.7 e 16.0)

Aurora MySQL, Aurora PostgreSQL, MariaDB, MySQL, PostgreSQL

Para obter mais informações sobre como converter um esquema de data warehouse, consulte Como converter esquemas de data warehouse em Amazon Redshift usando a AWS SCT.

Para converter o esquema de banco de dados para o Amazon RDS, siga as etapas de alto nível a seguir:

  • Como criar regras de migração na AWS SCT: antes de converter seu esquema com a AWS SCT, você pode configurar regras que alteram o tipo de dados de colunas, movem objetos de um esquema para outro e alteram os nomes de objetos.

  • Como converter o esquema com a AWS SCT: a AWS SCT cria uma versão local do esquema convertido para você analisar, mas não a aplica à instância de banco de dados de destino até que você esteja pronto.

  • Como criar relatórios de avaliação de migração com a AWS SCT: a AWS SCT cria um relatório de avaliação de migração de banco de dados que detalha os elementos do esquema que não podem ser convertidos automaticamente. É possível usar esse relatório para identificar onde você precisa criar um esquema na sua instância de banco de dados do Amazon RDS que seja compatível com o seu banco de dados de origem.

  • Como lidar com conversões manuais na AWS SCT: se você tem elementos do esquema que não podem ser convertidos automaticamente, há duas opções: atualizar o esquema de origem e fazer a conversão novamente ou criar elementos do esquema equivalentes na instância de banco de dados de destino do Amazon RDS.

  • Como atualizar e recarregar o esquema convertido na AWS SCT: você pode atualizar seu projeto da AWS SCT com o esquema mais recente do banco de dados de origem.

  • Como salvar e aplicar seu esquema convertido na AWS SCT: quando estiver pronto, faça com que a AWS SCT aplique o esquema convertido em seu projeto local à instância de banco de dados do Amazon RDS de destino.

Como criar regras de migração na AWS SCT

Antes de converter seu esquema com a AWS SCT, você pode configurar regras de migração. As regras de migração na AWS SCT podem fazer coisas como alterar o tipo de dados das colunas, mover objetos de um esquema para outro e alterar os nomes dos objetos. Por exemplo, suponha que você tenha um conjunto de tabelas no esquema de origem chamado test_TABLE_NAME. É possível configurar uma regra que altera o prefixo test_ para o prefixo demo_ no esquema de destino.

nota

Você só pode criar regras de migração para diferentes mecanismos de banco de dados de origem e destino.

Você pode criar regras de migração que executam as seguintes tarefas:

  • Adicionar, remover ou substituir um prefixo

  • Adicionar, remover ou substituir um sufixo

  • Alterar agrupamento de colunas

  • Alterar tipo de dados

  • Alterar o comprimento dos tipos de dados char, varchar, nvarchar e string

  • Mover objetos

  • Renomear objetos

Você pode criar regras de migração para os seguintes objetos:

  • Banco de dados

  • Esquema

  • Tabela

  • Coluna

Como criar regras de migração

Você pode criar regras de migração salvar as regras como parte do seu projeto. Com seu projeto aberto, use o procedimento a seguir para criar regras de migração.

Para criar regras de migração
  1. No menu Exibir, selecione Exibição de mapeamento.

  2. Em Mapeamentos de servidores, escolha um par de servidores de origem e de destino.

  3. Selecione Nova regra de migração. A caixa de diálogo Regras de transformação é exibida.

  4. Escolha Adicionar nova regra. Uma nova linha é adicionada à lista de regras.

  5. Configure sua regra:

    1. Em Name (Nome), insira um nome para a regra.

    2. Em Para, escolha o tipo de objeto ao qual a regra se aplica.

    3. Em onde, digite um filtro para aplicar aos objetos antes de aplicar a regra de migração. A cláusula where é avaliada usando uma cláusula like. Você pode inserir um nome exato para selecionar um objeto, ou pode inserir um padrão para selecionar vários objetos.

      Os campos disponíveis para a cláusula where são diferentes, dependendo do tipo do objeto. Por exemplo, se o tipo de objeto for esquema, haverá apenas um campo disponível para o nome do esquema.

    4. Em Ações, escolha o tipo de regra de migração que você deseja criar.

    5. Dependendo do tipo de regra, insira um ou dois valores adicionais. Por exemplo, para renomear um objeto, insira o novo nome do objeto. Para substituir um prefixo, insira o prefixo antigo e o novo prefixo.

      Para os tipos de dados char, varchar, nvarchar e string, você pode alterar o comprimento do tipo de dados usando o operador de multiplicação. Por exemplo, o valor %*4 transforma o tipo de dados varchar(10) em varchar(40).

  6. Após configurar sua regra de migração, selecione Salvar para salvar sua regra. Você também pode escolher Cancelar para cancelar as alterações.

    
                            A caixa de diálogo de regras de transformação
  7. Ao finalizar a adição, edição e exclusão das regras, escolha Salvar tudo para salvar todas as alterações.

  8. Selecione Fechar para fechar a caixa de diálogo Regras de transformação.

Você pode usar o ícone de alternância para desativar uma regra de migração sem excluí-la. Você pode usar o ícone de cópia para duplicar uma regra de migração existente. Use o ícone de lápis para editar uma regra de migração existente. Você pode usar o ícone de exclusão para excluir uma regra de migração existente. Para salvar as alterações feitas em suas regras de migração, selecione Salvar tudo.

Como exportar regras de migração

Se você usar o AWS DMS para migrar os dados do seu banco de dados de origem para o banco de dados de destino, será possível fornecer informações sobre as regras de migração para o AWS DMS. Para obter mais informações sobre tarefas, consulte Como trabalhar com tarefas de replicação do AWS Database Migration Service.

Para exportar regras de migração
  1. Na AWS Schema Conversion Tool, selecione Exibição de mapeamento no menu Exibir.

  2. Em Regras de migração, escolha uma regra de migração e, em seguida, selecione Modificar regra de migração.

  3. Selecione Exportar script para o AWS DMS.

  4. Navegue até o local onde você deseja salvar seu script e escolha Salvar. Suas regras de migração são salvas como um script JSON que pode ser consumido pelo AWS DMS.

Como converter o esquema com a AWS SCT

Depois que você tiver conectado o projeto ao banco de dados de origem e de destino da instância de banco de dados do Amazon RDS, seu projeto da AWS Schema Conversion Tool exibirá o esquema do banco de dados de origem no painel esquerdo. O esquema é apresentado em um formato de visualização em árvore, e cada nó da árvore é de carregamento preguiçoso. Quando você escolhe um nó na visualização em árvore, a AWS SCT solicita as informações do esquema do seu banco de dados de origem nesse momento.

Você pode escolher itens do esquema de seu banco de dados de origem e converter o esquema para o esquema equivalente do mecanismo de banco de dados de sua instância de banco de dados de destino. Você pode escolher qualquer item de esquema de seu banco de dados de origem para converter. Se o item de esquema que você escolher depende de um item pai, a AWS SCT também gerará o esquema para o item pai. Por exemplo, suponha que você escolha uma tabela para converter. Em caso afirmativo, a AWS SCT gera o esquema para a tabela e o banco de dados em que a tabela está.

Converter o esquema

Para converter um esquema do seu banco de dados de origem, marque a caixa de seleção do nome do esquema a ser convertido. Em seguida, selecione esse esquema no painel esquerdo do seu projeto. A AWS SCT destaca o nome do esquema em azul. Abra o menu de contexto (clique com o botão direito do mouse) do esquema e selecione Converter esquema, conforme mostrado a seguir.


                    Converter esquema

Depois de converter o esquema do seu banco de dados de origem, você pode escolher os itens de esquema no painel esquerdo do seu projeto e visualizar o esquema convertido nos painéis centrais do seu projeto. O painel central inferior exibe as propriedades e o comando SQL para criar o esquema convertido, como mostrado a seguir.


                    Escolher item do esquema de origem

Depois de converter seu esquema, você poderá salvar seu projeto. As informações do esquema de seu banco de dados de origem são salvas com o seu projeto. Essa funcionalidade significa que você pode trabalhar off-line sem estar conectado ao seu banco de dados de origem. A AWS SCT vai se conectar ao seu banco de dados de origem para atualizar o esquema em seu projeto, se você selecionar Atualizar do banco de dados. Para obter mais informações, consulte Como atualizar e recarregar o esquema convertido na AWS SCT.

Você pode criar um relatório de avaliação de migração do banco de dados dos itens que não podem ser convertidos automaticamente. O relatório de avaliação é útil para identificar e resolver itens de esquema que não podem ser convertidos automaticamente. Para obter mais informações, consulte Como criar relatórios de avaliação de migração com a AWS SCT.

Quando a AWS SCT gera um esquema convertido, ela não o aplica imediatamente à instância de banco de dados de destino. Em vez disso, o esquema convertido é armazenado localmente até que você esteja pronto para aplicá-lo à instância de banco de dados de destino. Para obter mais informações, consulte Como aplicar seu esquema convertido.

Como editar o esquema convertido

Você pode editar o esquema convertido e salvar as alterações como parte do seu projeto.

Para editar o esquema convertido
  1. No painel esquerdo que exibe o esquema de seu banco de dados de origem, escolha o item do esquema para o qual você deseja editar o esquema convertido.

  2. No painel central inferior que exibe o esquema convertido referente ao item selecionado, escolha a guia SQL.

  3. No texto exibido referente à guia SQL, altere o esquema conforme necessário. O esquema é salvo automaticamente com o seu projeto, à medida que você o atualiza.

    
                            Atualizar o esquema da instância de banco de dados de destino

As alterações que você fizer no esquema convertido serão armazenadas com seu projeto à medida que você o atualiza. Se você converteu recentemente um item do esquema de seu banco de dados de origem, e fez atualizações no esquema convertido anteriormente para esse item, essas atualizações existentes serão substituídas pelo item do esquema recém-convertido com base em seu banco de dados de origem.

Como limpar um esquema convertido

Até que você aplique o esquema à sua instância de banco de dados de destino, a AWS SCT armazenará apenas o esquema convertido localmente em seu projeto. Você pode limpar o esquema planejado do seu projeto, escolhendo o nó de visualização em árvore para a sua instância de banco de dados e, em seguida, escolhendo Atualizar do banco de dados. Como nenhum esquema foi gravado em sua instância de banco de dados de destino, a atualização do banco de dados removerá os elementos do esquema planejado em seu projeto da AWS SCT para coincidir com o que existe em sua instância de banco de dados de origem.

Como lidar com conversões manuais na AWS SCT

O relatório de avaliação inclui uma lista de itens que não podem ser convertidos automaticamente para o mecanismo de banco de dados de sua instância de banco de dados de destino do Amazon RDS. Para cada item que não pode ser convertido, existe um item de ação na guia Itens de ação.

Você pode responder aos itens de ação do relatório de avaliação das seguintes formas:

  • Modifique o esquema do banco de dados de origem.

  • Modifique o esquema do banco de dados de destino.

Como modificar seu esquema de origem

Para alguns itens, pode ser mais fácil modificar o esquema de banco de dados no seu banco de dados de origem para um esquema que pode ser convertido automaticamente. Primeiro, verifique se as novas alterações são compatíveis com sua arquitetura de aplicativo e, em seguida, atualizar o esquema no seu banco de dados de origem. Finalmente, atualize seu projeto com as informações do esquema atualizado. É possível converter o esquema atualizado, e gerar um novo relatório de avaliação de migração de banco de dados. Os itens de ação não são mais exibidos para os itens que são alterados no esquema de origem.

A vantagem desse processo é que o esquema atualizado está sempre disponível quando você atualiza a partir de seu banco de dados de origem.

Como modificar seu esquema de destino

Para alguns itens, pode ser mais fácil aplicar o esquema convertido ao seu banco de dados de destino e, em seguida, adicionar itens de esquema equivalente manualmente ao seu banco de dados de destino para os itens que não puderam ser convertidos automaticamente. Você pode gravar tudo do esquema que pode ser convertido automaticamente para sua instância de banco de dados destino, aplicando o esquema. Para obter mais informações, consulte Como salvar e aplicar seu esquema convertido na AWS SCT.

O esquema que é gravado na instância de banco de dados de destino não contém os itens que não podem ser convertidos automaticamente. Depois de aplicar o esquema à instância de banco de dados de destino, você pode criar manualmente o esquema na instância de banco de dados de destino que é equivalente ao do banco de dados de origem. Os itens de ação no relatório de avaliação de migração de banco de dados contêm sugestões de como criar o esquema equivalente.

Atenção

Se você criar manualmente o esquema em sua instância de banco de dados de destino, salve uma cópia de qualquer trabalho manual. Se você aplicar o esquema convertido do seu projeto à instância de banco de dados de destino novamente, ela substituirá o trabalho manual que você tenha feito.

Em alguns casos, não é possível criar um esquema equivalente na instância de banco de dados de destino. Convém rearquitetar uma parte do aplicativo e do banco de dados para usar a funcionalidade que está disponível no mecanismo de banco de dados para a instância de banco de dados de destino. Em outros casos, você pode simplesmente ignorar o esquema que não pode ser convertido automaticamente.

Como atualizar e recarregar o esquema convertido na AWS SCT

Você pode atualizar o esquema de origem e o esquema de destino em seu projeto da AWS Schema Conversion Tool.

  • Origem: Se você atualizar o esquema de seu banco de dados de origem, a AWS SCT substituirá o esquema em seu projeto pelo esquema mais recente do seu banco de dados de origem. Usando essa funcionalidade, você pode atualizar seu projeto, se as alterações tiverem sido feitas no esquema de seu banco de dados de origem.

  • Destino: se você atualizar o esquema de sua instância de banco de dados do Amazon RDS de destino, a AWS SCT substituirá o esquema em seu projeto pelo esquema mais recente de sua instância de banco de dados de destino. Se você não aplicou qualquer esquema à sua instância de banco de dados de destino, a AWS SCT apagará o esquema convertido de seu projeto. Em seguida, você pode converter o esquema do seu banco de dados de origem para uma instância de banco de dados de destino limpo.

Atualize o esquema em seu projeto da AWS SCT, selecionando Atualizar do banco de dados.

nota

Ao atualizar seu esquema, a AWS SCT carrega metadados somente quando necessário. Para carregar completamente todo o esquema do banco de dados, abra o menu de contexto (clique com o botão direito do mouse) do esquema e selecione Carregar esquema. Por exemplo, você pode usar essa opção para carregar metadados para seu banco de dados de uma só vez e depois trabalhar offline.

Como salvar e aplicar seu esquema convertido na AWS SCT

Quando a AWS Schema Conversion Tool gerar o esquema convertido (conforme mostrado em Como converter o esquema com a AWS SCT), ela não aplicará imediatamente o esquema convertido à instância de banco de dados. Em vez disso, o esquema convertido é armazenado localmente em seu projeto até que você esteja pronto para aplicá-lo à instância de banco de dados de destino. Usando essa funcionalidade, você pode trabalhar com itens do esquema que não podem ser convertidos automaticamente para o mecanismo de banco de dados de destino. Para obter mais informações sobre itens que não podem ser convertidos automaticamente, consulte Como criar relatórios de avaliação de migração com a AWS SCT.

Opcionalmente, você pode fazer a ferramenta salvar o esquema convertido em um arquivo como um script SQL antes de aplicar o esquema à instância de banco de dados de destino. Você também pode fazer a ferramenta aplicar o esquema convertido diretamente à sua instância de banco de dados de destino.

Como salvar seu esquema convertido em um arquivo

Você pode salvar seu esquema convertido como scripts SQL em um arquivo de texto. Ao usar essa abordagem, você pode modificar os scripts SQL gerados da AWS SCT para lidar com itens que a ferramenta não pode converter automaticamente. Em seguida, você pode executar seus scripts atualizados em sua instância de banco de dados de destino para aplicar o esquema convertido ao seu banco de dados de destino.

Como salvar o esquema convertido como scripts SQL
  1. Selecione seu esquema e abra o menu de contexto (clique com o botão direito do mouse).

  2. Selecione Salvar como SQL.

  3. Insira o nome do arquivo e selecione Salvar.

  4. Salve seu esquema convertido usando uma das seguintes opções:

    • Arquivo único

    • Arquivo único por estágio

    • Arquivo único por instrução

Para escolher o formato do script SQL
  1. No menu Configurações, selecione Configurações do projeto.

  2. Selecione Salvar scripts.

  3. Em Fornecedor, selecione a plataforma de banco de dados.

  4. Em Salvar scripts de SQL em, selecione como você deseja salvar o script do esquema de banco de dados.

  5. Escolha OK para salvar as configurações.

Como aplicar seu esquema convertido

Quando você estiver pronto para aplicar o esquema convertido à instância de banco de dados de destino do Amazon RDS, escolha o elemento de esquema no painel direito do projeto. Abra o menu de contexto (clique com o botão direito do mouse) do elemento do esquema e escolha Aplicar ao banco de dados, como mostrado a seguir.


                    Aplicar ao banco de dados

O esquema do pacote de extensão

Na primeira vez em que você aplicar o esquema convertido à sua instância de banco de dados de destino, a AWS SCT adicionará um esquema adicional à sua instância de banco de dados de destino. Esse esquema implementa as funções de sistema do banco de dados de origem necessárias para gravar o esquema convertido na instância de banco de dados de destino. O esquema é chamado de esquema de pacote de extensões.

Não modifique o esquema do pacote de extensões, ou você poderá obter resultados inesperados no esquema convertido que é gravado na instância de banco de dados de destino. Quando seu esquema estiver totalmente migrado para sua instância de banco de dados de destino, e você não precisar mais da AWS SCT, será possível excluir o esquema do pacote de extensões.

O esquema do pacote de extensões é nomeado de acordo com seu banco de dados de origem da seguinte forma:

  • IBM Db2 LUW: aws_db2_ext

  • Microsoft SQL Server: aws_sqlserver_ext

  • MySQL: aws_mysql_ext

  • Oracle: aws_oracle_ext

  • PostgreSQL: aws_postgresql_ext

  • SAP ASE: aws_sapase_ext

Para obter mais informações, consulte Usando as AWS Lambda funções do pacote AWS SCT de extensão .