Database Migration Service (DMS) e Schema Conversion Tool
Migre bancos de dados homogêneos e heterogêneos com o DMS usando carga completa ou CDC e converta dialetos de esquema com o Schema Conversion Tool.
Database Migration Service (DMS) e Schema Conversion Tool é uma aula grátis de AWS Solutions Architect no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AWS Solutions Architect, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AWS Solutions Architect inclui 4 aulas no total.
O que é o AWS DMS?
O AWS Database Migration Service (DMS) migra bancos de dados para a AWS com tempo de inatividade mínimo. Ele oferece suporte a migrações homogêneas (por exemplo, Oracle para Oracle, MySQL para MySQL) e heterogêneas (por exemplo, Oracle para Aurora PostgreSQL, SQL Server para MySQL). O DMS usa uma instância de replicação que lê da origem, transforma os dados opcionalmente e grava no destino. Você paga apenas pelo tempo de execução da instância de replicação.
Componentes do DMS: Endpoints e Instância de Replicação
O DMS tem três componentes principais. Os Endpoints de Origem definem a conexão com o banco de dados de origem (URL JDBC, credenciais, TLS). Os Endpoints de Destino definem o banco de dados de destino. A Instância de Replicação é um servidor gerenciado baseado no EC2 que o DMS provisiona na sua VPC para executar a carga de trabalho de migração. Escolha o tamanho da instância de replicação com base na quantidade de dados que precisa ser migrada e em se deseja usar multi-AZ para a própria instância de replicação.
# Create a DMS replication instance
aws dms create-replication-instance \
--replication-instance-identifier my-dms-instance \
--replication-instance-class dms.t3.medium \
--allocated-storage 50 \
--vpc-security-group-ids sg-abc123 \
--replication-subnet-group-identifier my-dms-subnet-group \
--multi-az false \
--publicly-accessible falseMigração Full Load versus CDC
O DMS oferece suporte a dois modos de migração. O Full Load copia todos os dados existentes da origem para o destino — é adequado quando você pode aceitar um período de inatividade ou quando a origem permanece somente para leitura durante a migração. O Change Data Capture (CDC) captura as alterações contínuas do registro de transações da origem após a conclusão do carregamento completo, mantendo a origem e o destino sincronizados. Uma migração combinada de Full Load + CDC minimiza o tempo de inatividade: migre os dados enquanto a origem permanece ativa e faça a mudança quando o destino estiver atualizado.
# Create a DMS replication task with Full Load + CDC
aws dms create-replication-task \
--replication-task-identifier sales-migration \
--source-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:SOURCE \
--target-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:TARGET \
--replication-instance-arn arn:aws:dms:us-east-1:123:rep:my-dms-instance \
--migration-type full-load-and-cdc \
--table-mappings '{"rules": [{"rule-type": "selection", "rule-id": "1", "rule-name": "all", "object-locator": {"schema-name": "%", "table-name": "%"}, "rule-action": "include"}]}'Schema Conversion Tool (SCT)
O AWS Schema Conversion Tool (SCT) é uma aplicação gratuita para download que converte automaticamente o esquema do banco de dados de origem (DDL) para um formato compatível com o mecanismo do banco de dados de destino. Ele processa definições de tabelas, exibições, procedimentos armazenados, funções e gatilhos. Em migrações heterogêneas (por exemplo, Oracle para PostgreSQL), o SCT converte automaticamente a maioria dos objetos e sinaliza os itens que exigem revisão manual devido a diferenças de sintaxe não compatíveis.
# SCT is a GUI desktop tool, but here is the workflow:
# 1. Connect SCT to source Oracle database
# 2. Connect SCT to target Aurora PostgreSQL database
# 3. Run schema assessment: SCT rates conversion complexity per object
# 4. Convert schema automatically (SCT generates PostgreSQL DDL)
# 5. Apply converted DDL to target (SCT executes or exports SQL script)
# 6. Review and manually fix flagged items (e.g., PL/SQL procedures with Oracle-specific syntax)Migração Homogênea versus Heterogênea
Em migrações homogêneas (mesmo mecanismo, por exemplo, MySQL local para RDS for MySQL), normalmente não é necessário usar o SCT — o esquema é diretamente compatível. O DMS pode executar Full Load + CDC imediatamente. Em migrações heterogêneas (mecanismos diferentes), o SCT deve converter primeiro o esquema, o DMS cuida da migração dos dados e talvez seja necessário reescrever manualmente procedimentos armazenados e gatilhos que não tenham equivalente no mecanismo de destino.
# Example heterogeneous migration workflow:
# On-premises Oracle -> Amazon Aurora PostgreSQL
#
# Step 1: SCT converts Oracle DDL to PostgreSQL DDL
# Step 2: Apply PostgreSQL DDL to Aurora target
# Step 3: DMS Full Load + CDC copies Oracle table data to Aurora
# Step 4: Validate row counts and checksums
# Step 5: Cut over application connections to Aurora endpoint
# Step 6: Terminate DMS task and replication instanceBancos de Dados de Origem e Destino Compatíveis
O DMS oferece suporte a uma ampla variedade de origens: Oracle, SQL Server, MySQL, MariaDB, PostgreSQL, SAP ASE, MongoDB, IBM Db2 e S3. Os destinos compatíveis incluem todos os anteriores, além de Amazon Redshift, DynamoDB, Kinesis Data Streams e Kafka. Isso torna o DMS útil não apenas para migrações relacionais, mas também para transmitir eventos de alteração relacionais para um lago de dados ou uma arquitetura orientada a eventos usando CDC para o Kinesis.
Regras de Mapeamento de Tabelas do DMS
O DMS usa regras de mapeamento de tabelas (JSON) para controlar quais esquemas e tabelas devem ser incluídos ou excluídos e para aplicar transformações aos dados. Você pode renomear esquemas ou tabelas, converter valores de colunas (por exemplo, converter todas as strings para maiúsculas), adicionar colunas derivadas ou filtrar linhas. Isso é útil ao migrar para um destino com convenções de nomenclatura diferentes ou quando você quer migrar apenas um subconjunto de tabelas.
# Table mapping: include only the 'orders' table, rename schema
{
'rules': [
{
'rule-type': 'selection',
'rule-id': '1',
'rule-name': 'select-orders',
'object-locator': {'schema-name': 'prod_db', 'table-name': 'orders'},
'rule-action': 'include'
},
{
'rule-type': 'transformation',
'rule-id': '2',
'rule-name': 'rename-schema',
'rule-action': 'convert-uppercase',
'rule-target': 'schema',
'object-locator': {'schema-name': 'prod_db'}
}
]
}Monitoramento do Progresso da Migração do DMS
O DMS publica métricas no CloudWatch: FullLoadThroughputRowsSource (linhas carregadas por segundo), CDCLatencySource (atraso entre o registro de transações da origem e a leitura feita pelo DMS) e CDCLatencyTarget (atraso entre a leitura feita pelo DMS e a gravação no destino). Monitore atentamente CDCLatencyTarget durante a fase de sincronização — quando seu valor cair para quase zero, o destino terá alcançado a origem e você estará pronto para a mudança.
# Monitor CDC latency via CloudWatch CLI
aws cloudwatch get-metric-statistics \
--namespace AWS/DMS \
--metric-name CDCLatencyTarget \
--dimensions Name=ReplicationInstanceIdentifier,Value=my-dms-instance \
--start-time 2024-01-01T00:00:00Z \
--end-time 2024-01-01T01:00:00Z \
--period 60 \
--statistics AverageDMS Serverless
O DMS Serverless provisiona e dimensiona automaticamente a capacidade de replicação com base na carga de trabalho da migração, eliminando a necessidade de escolher e gerenciar o tamanho de uma instância de replicação. Você especifica unidades de capacidade mínimas e máximas do DMS (DCUs), e o DMS ajusta automaticamente a escala dentro desse intervalo. Essa opção é ideal para migrações com carga variável ou quando você quer evitar o risco de dimensionar insuficientemente a instância de replicação durante o pico da carga de migração.
# Create a DMS Serverless replication
aws dms create-replication \
--replication-config-identifier my-serverless-migration \
--replication-type full-load-and-cdc \
--source-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:SOURCE \
--target-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:TARGET \
--compute-config '{
"MinCapacityUnits": 2,
"MaxCapacityUnits": 64,
"MultiAZ": false,
"ReplicationSubnetGroupId": "my-subnet-group",
"VpcSecurityGroupIds": ["sg-abc123"]
}'Validação da Integridade da Migração
Após a migração, valide a integridade dos dados usando a Validação de Dados do DMS. Ative-a nas configurações da tarefa, e o DMS comparará as contagens de linhas e as somas de verificação entre as tabelas de origem e destino, relatando divergências em uma tabela de validação separada. Em migrações heterogêneas, execute também testes básicos no nível da aplicação. Nunca faça a mudança até que a validação mostre zero discrepâncias — reconciliar dados após uma mudança malsucedida é muito mais custoso do que dedicar tempo adicional à validação.
# Enable validation in DMS task settings (JSON)
{
'TargetMetadata': {'SupportLobs': true, 'FullLobMode': false},
'ValidationSettings': {
'EnableValidation': true,
'ValidationMode': 'ROW_LEVEL',
'ValidationOnly': false,
'FailureMaxCount': 10000
}
}Cenários Comuns do DMS em Provas
Na prova SAA-C03, o DMS aparece em cenários que exigem migração de bancos de dados com tempo de inatividade mínimo. Principais indicações: “migrar um banco de dados com replicação contínua” → DMS Full Load + CDC. “alterar o mecanismo do banco de dados” → SCT primeiro e depois DMS. “replicar alterações quase em tempo real para um lago de dados” → CDC do DMS para Kinesis ou S3. “consolidar vários bancos de dados de origem em um único destino” → várias tarefas do DMS para um endpoint de destino. O DMS é especificamente destinado à migração de bancos de dados — para migração de servidores, use MGN; para transferência de dados em massa, use DataSync ou Snowball.
Verificação Rápida
Teste sua compreensão dos conceitos de AWS Solutions Architect (SAA-C03) desta lição.
Recapitulação da Lição
Nesta lição, você aprendeu que: o DMS oferece suporte a migrações de bancos de dados homogêneas e heterogêneas usando os modos Full Load e CDC; o SCT automatiza a conversão do esquema em migrações com alteração de mecanismo e sinaliza itens para revisão manual; e o DMS Serverless ajusta automaticamente a escala da capacidade de replicação, eliminando decisões sobre o dimensionamento da instância. A seguir, exploraremos o Amazon EventBridge para roteamento orientado a eventos e arquitetura de barramento.
Perguntas Frequentes
A aula “Database Migration Service (DMS) e Schema Conversion Tool” é grátis?
Sim — o texto completo de “Database Migration Service (DMS) e Schema Conversion Tool” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AWS Solutions Architect, atualize para CoddyKit PRO. O curso de AWS Solutions Architect inclui 4 aulas no total.
O que vou aprender em “Database Migration Service (DMS) e Schema Conversion Tool”?
Migre bancos de dados homogêneos e heterogêneos com o DMS usando carga completa ou CDC e converta dialetos de esquema com o Schema Conversion Tool. Você pratica AWS Solutions Architect com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar AWS Solutions Architect?
Nenhuma experiência prévia é necessária. AWS Solutions Architect no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Database Migration Service (DMS) e Schema Conversion Tool”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de AWS Solutions Architect?
Sim. Cada aula de AWS Solutions Architect inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Os 7 Rs da estratégia de migração
- AWS Migration Hub e Application Discovery Service
- Application Migration Service (MGN)
- Database Migration Service (DMS) e Schema Conversion Tool