Use o Data Transmission Service (DTS) para sincronizar dados de um banco de dados MySQL para uma instância PolarDB-X.
Bancos de dados de origem suportados
Você pode sincronizar dados dos seguintes tipos de bancos de dados MySQL para uma instância PolarDB-X 2.0. Este tópico usa uma instância ApsaraDB RDS for MySQL como exemplo para descrever o procedimento de configuração. O processo é semelhante para outros tipos de bancos de dados de origem.
Instância ApsaraDB RDS for MySQL
Banco de dados autogerenciado hospedado no Elastic Compute Service (ECS)
Banco de dados autogerenciado conectado via Express Connect, VPN Gateway ou Smart Access Gateway
Banco de dados autogerenciado conectado via Database Gateway
Banco de dados autogerenciado conectado via Cloud Enterprise Network (CEN)
Pré-requisitos
Uma instância PolarDB-X 2.0 de destino foi criada.
O espaço de armazenamento da instância PolarDB-X 2.0 deve ser superior ao espaço utilizado pela instância ApsaraDB RDS for MySQL.
Observações
Durante a sincronização de schema, o DTS sincroniza chaves estrangeiras do banco de dados de origem para o de destino.
Nas fases de sincronização total e incremental de dados, o DTS desativa temporariamente as verificações de restrições e operações em cascata de chaves estrangeiras no nível da sessão. Inconsistências de dados podem ocorrer se operações de atualização ou exclusão em cascata forem executadas no banco de origem enquanto a tarefa estiver em andamento.
|
Tipo |
Descrição |
|
Limites do banco de dados de origem |
|
|
Outros limites |
|
|
Casos especiais |
|
Faturamento
|
Tipo de sincronização |
Preço |
|
Sincronização de schema e sincronização total de dados |
Gratuito. |
|
Sincronização incremental de dados |
Pago. Para mais informações, consulte Billing overview. |
Topologias de sincronização
Sincronização unidirecional um para um
Sincronização unidirecional muitos para um
Operações SQL suportadas
|
Tipo de operação |
Instrução SQL |
|
DML |
INSERT, UPDATE e DELETE |
|
DDL |
|
Procedimento
-
Acesse a página da lista de tarefas de sincronização da região de destino. Use um dos dois métodos abaixo:
Pelo console do DTS
Faça login no console do Data Transmission Service (DTS).
No painel de navegação à esquerda, clique em Data Synchronization.
No canto superior esquerdo da página, selecione a região onde a instância de sincronização está localizada.
Pelo console do DMS
NotaAs operações reais podem variar conforme o modo e o layout do console do DMS. Para mais detalhes, consulte Simple mode e Customize the layout and style of the DMS interface.
Faça login no Data Management (DMS).
Na barra de menu superior, escolha .
À direita de Data Synchronization Tasks, selecione a região onde a instância de sincronização está localizada.
Clique em Create Task para abrir a página de configuração da tarefa.
-
Configure os bancos de dados de origem e de destino.
AvisoApós selecionar as instâncias de origem e destino, leia atentamente os limites exibidos no topo da página. Ignorar esses limites pode resultar em falha na tarefa ou inconsistência de dados.
Categoria
Parâmetro
Descrição
N/A
Task Name
O DTS gera automaticamente um nome para a tarefa. Recomenda-se especificar um nome descritivo para facilitar a identificação. O nome não precisa ser único.
Source Database
Database Type
Selecione MySQL.
Connection Type
Selecione Alibaba Cloud Instance.
Instance Region
Selecione a região onde a instância ApsaraDB RDS for MySQL de origem está localizada.
Cross-account
Neste cenário, os dados são sincronizados dentro da mesma conta Alibaba Cloud. Selecione No.
RDS Instance ID
Selecione o ID da instância ApsaraDB RDS for MySQL de origem.
Database Account
Insira a conta do banco de dados da instância ApsaraDB RDS for MySQL de origem. A conta deve ter as permissões REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW e SELECT.
Database Password
Insira a senha correspondente à conta do banco de dados.
Encryption
Selecione Non-encrypted ou SSL-encrypted conforme necessário. Se escolher SSL-encrypted, será necessário ativar previamente a criptografia SSL na instância RDS for MySQL. Para mais informações, consulte Use a cloud certificate to quickly enable SSL encryption.
Destination Database
Database Type
Selecione PolarDB-X 2.0.
Connection Type
Selecione Alibaba Cloud Instance.
Instance Region
Selecione a região onde a instância PolarDB-X 2.0 de destino está localizada.
Instance ID
Selecione o ID da instância PolarDB-X 2.0 de destino.
Database Account
Insira a conta do banco de dados da instância PolarDB-X 2.0 de destino. A conta deve ter permissões de leitura e escrita.
Database Password
Insira a senha correspondente à conta do banco de dados.
-
Após concluir a configuração, clique em Test Connectivity and Proceed na parte inferior da página.
NotaCertifique-se de que os blocos CIDR de endereços IP dos servidores DTS estejam adicionados às configurações de segurança dos bancos de origem e destino para permitir o acesso. Adicione-os automática ou manualmente. Para mais informações, consulte Add the IP address CIDR blocks of DTS servers to a whitelist.
Se o banco de origem ou destino for autogerenciado (onde o Access Method não é Alibaba Cloud Instance), clique também em Test Connectivity na caixa de diálogo CIDR Blocks of DTS Servers.
-
Configure os objetos da tarefa.
-
Na página Configure Objects, configure os objetos a serem sincronizados.
Parâmetro
Descrição
Synchronization Types
Incremental Data Synchronization vem selecionado. Por padrão, você também deve selecionar Schema Synchronization e Full Data Synchronization. Após a pré-verificação, o DTS realiza uma sincronização total dos objetos selecionados da instância de origem para o cluster de destino, servindo como base para a subsequente sincronização incremental.
Processing Mode for Existing Tables in Destination
-
Precheck and Report Errors: Verifica se existe uma tabela com o mesmo nome no banco de destino. Se não existir, a pré-verificação é aprovada. Se existir, a pré-verificação falha e a tarefa de sincronização não inicia.
NotaCaso não seja possível excluir ou renomear a tabela homônima no destino, mapeie-a para um nome diferente. Consulte Map table and column names para mais detalhes.
-
Ignore Errors and Proceed: Ignora a verificação de nomes de tabelas duplicados no destino.
AvisoSelecionar Ignore Errors and Proceed pode causar inconsistência de dados e colocar seu negócio em risco. Por exemplo:
-
Se os schemas das tabelas forem idênticos e um registro no destino possuir o mesmo valor de chave primária ou única que um registro na origem:
-
Na sincronização total, o DTS mantém o registro no cluster de destino, sem sincronizar o registro correspondente da origem.
-
Na sincronização incremental, o registro da origem sobrescreve o registro no destino.
-
-
Se os schemas diferirem, a sincronização inicial de dados poderá falhar, resultando em sincronização parcial de colunas ou falha completa. Proceda com cautela.
-
Source Objects
Na caixa Source Objects, clique em um objeto para sincronizar e, em seguida, clique em
para movê-lo para a caixa Selected Objects.NotaÉ possível selecionar bancos, tabelas e colunas como objetos de sincronização. Ao selecionar tabelas ou colunas, outros objetos como views, triggers e stored procedures não serão sincronizados com o destino.
Selected Objects
-
Para renomear um único objeto de sincronização na instância de destino, clique com o botão direito no objeto na caixa Selected Objects. Para mais informações sobre renomeação de objetos, consulte Map a single database, table, or column.
-
Para alterar em lote os nomes de múltiplos objetos de sincronização no destino, clique em Batch Edit no canto superior direito da caixa Selected Objects. Para mais detalhes, consulte Map databases, tables, and columns in a batch.
Nota-
Para selecionar as operações SQL a serem sincronizadas no nível de banco ou tabela, clique com o botão direito no objeto na caixa Selected Objects e escolha as operações desejadas na caixa de diálogo exibida. Para informações sobre operações suportadas, consulte Supported SQL operations.
-
Para filtrar dados usando uma cláusula WHERE, clique com o botão direito na tabela a ser sincronizada na caixa Selected Objects e especifique a condição de filtro na caixa de diálogo exibida. Para mais detalhes sobre como especificar a condição, consulte Set filter conditions.
-
O uso do recurso de mapeamento de nomes de objetos pode causar falha na sincronização de outros objetos dependentes do objeto mapeado.
-
-
Clique em Next: Advanced Settings para configurar parâmetros avançados.
Parâmetro
Descrição
Dedicated Cluster for Task Scheduling
Por padrão, o DTS agenda tarefas em um cluster compartilhado, sem necessidade de seleção. Para maior estabilidade de desempenho, adquira um cluster dedicado para executar tarefas de sincronização do DTS. Para mais informações, consulte What is a DTS dedicated cluster?.
Retry Time for Failed Connections
Após o início da tarefa de sincronização, se a conexão com o banco de origem ou destino falhar, o DTS reportará erro e iniciará imediatamente novas tentativas. A duração padrão de tentativa é de 720 minutos. Especifique uma duração personalizada entre 10 e 1.440 minutos. Recomenda-se definir pelo menos 30 minutos. Se o DTS reconectar com sucesso dentro do período especificado, a tarefa retomará automaticamente. Caso contrário, a tarefa falhará.
Nota-
Se houver múltiplas instâncias DTS (ex: Instância A e Instância B) compartilhando a mesma origem ou destino, e o tempo de tentativa de rede for definido como 30 minutos para a Instância A e 60 minutos para a Instância B, a menor duração de 30 minutos será usada para ambas.
-
Como o DTS cobra pelo tempo de execução da tarefa durante o período de tentativa de reconexão, recomenda-se personalizar a duração conforme a necessidade do negócio ou liberar a instância DTS assim que as instâncias de banco de origem e destino forem liberadas.
Retry Time for Other Issues
Após o início da tarefa, se ocorrerem problemas não relacionados à conectividade com a origem ou destino (como exceções na execução de DDL ou DML), o DTS reportará erro e iniciará tentativas contínuas. A duração padrão é de 10 minutos. Personalize a duração entre 1 e 1.440 minutos. Recomenda-se definir pelo menos 10 minutos. Se as operações relevantes forem bem-sucedidas dentro do período definido, a tarefa retomará automaticamente. Caso contrário, a tarefa falhará.
ImportanteO valor de Retry Time for Other Issues deve ser menor que o de Retry Time for Failed Connections.
Enable Throttling for Full Data Synchronization
Durante a fase de sincronização total, o DTS consome recursos de leitura e escrita da origem e do destino, podendo aumentar a carga. Para reduzir essa carga, defina um limite de taxa para a tarefa configurando os parâmetros Queries per second (QPS) to the source database, RPS of Full Data Migration e Data migration speed for full migration (MB/s).
Nota-
Este item de configuração está disponível apenas quando Synchronization Types estiver definido como Full Data Synchronization.
-
Também é possível adjust the full synchronization rate após a instância de sincronização estar em execução.
Enable Throttling for Incremental Data Synchronization
Defina também um limite de taxa para a tarefa de sincronização incremental. Para aliviar a pressão no banco de destino, configure RPS of Incremental Data Synchronization e Data synchronization speed for incremental synchronization (MB/s).
Environment Tag
Selecione uma tag de ambiente para identificar a instância. Este parâmetro é opcional. Para este exemplo, não é necessário selecionar uma tag.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks
Escolha se deseja gravar informações SQL de heartbeat no banco de origem enquanto a instância DTS estiver em execução.
-
Yes: Informações SQL de heartbeat não são gravadas na origem. Isso pode fazer com que a instância DTS reporte atraso.
-
No: Grava informações SQL de heartbeat na origem. Isso pode interferir em recursos como backup físico e clonagem do banco de origem.
Configure ETL
Escolha se deseja ativar o recurso de extração, transformação e carga (ETL). Para mais informações, consulte What is ETL? Valores válidos:
-
Yes: Ativa o recurso ETL. Insira instruções de processamento de dados no editor de código. Para mais informações, consulte Configure ETL in a data migration or data synchronization task.
-
No: Desativa o recurso ETL.
Monitoring and Alerting
Especifique se deseja configurar alertas. Se a sincronização falhar ou a latência exceder o limiar especificado, uma notificação será enviada a um contato de alerta.
-
No: Nenhum alerta é configurado.
-
Yes: Configure alertas definindo um limiar e especificando um notificação de alerta. Para mais informações, consulte Configure monitoring and alerting during task configuration.
-
-
Clique em Next: Data Validation para configurar uma tarefa de validação de dados.
Para utilizar o recurso de validação de dados, consulte Configure data validation para instruções de configuração.
-
-
Salve a tarefa e execute a pré-verificação.
Para visualizar os parâmetros da API para configurar esta instância, passe o mouse sobre o botão Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters no balão exibido.
Após terminar de visualizar os parâmetros da API, clique em Next: Save Task Settings and Precheck na parte inferior da página.
NotaAntes do início da tarefa de sincronização, o DTS executa uma pré-verificação. A tarefa só inicia após a aprovação de todos os itens.
Se a pré-verificação falhar, clique em View Details para o item com falha. Corrija o problema conforme indicado e execute a pré-verificação novamente.
-
Se a pré-verificação retornar um aviso:
Se um item de verificação falhar e não puder ser ignorado, clique em View Details ao lado do item. Siga as instruções para corrigir o problema e execute a pré-verificação novamente.
Para itens de verificação que podem ser ignorados, clique sequencialmente em Confirm Alert Details, Ignore, OK e Precheck Again para pular o aviso e reexecutar a pré-verificação. Optar por suprimir o item de aviso pode causar problemas como inconsistência de dados e representar riscos ao seu negócio.
-
Adquira a instância.
Quando a Success Rate for 100%, clique em Next: Purchase Instance.
-
Na página Purchase, selecione o método de faturamento e a especificação de link para a instância de sincronização de dados. A tabela a seguir descreve esses parâmetros em detalhe.
Categoria
Parâmetro
Descrição
New Instance Class
Método de faturamento
-
Assinatura: Pagamento realizado na criação da instância. Adequado para necessidades de longo prazo e mais econômico que o pagamento conforme o uso. Quanto maior a duração da assinatura, maior o desconto.
-
Pagamento conforme o uso: Cobrança horária. Adequado para necessidades de curto prazo. Libere a instância imediatamente após o uso para economizar custos.
Configuração do grupo de recursos
Grupo de recursos ao qual a instância pertence. O padrão é default resource group. Para mais informações, consulte What is Resource Management?.
Especificação de link
O DTS oferece especificações de sincronização com diferentes níveis de desempenho. A especificação do link afeta a taxa de sincronização. Escolha uma especificação baseada no seu cenário de negócio. Para mais informações, consulte Data synchronization link specifications.
Duração da assinatura
No modo assinatura, selecione a duração e quantidade para a instância. Escolha uma assinatura mensal de 1 a 9 meses, ou anual de 1, 2, 3 ou 5 anos.
NotaEsta opção está disponível apenas quando o método de faturamento é Subscription.
-
Após concluir a configuração, leia e selecione Data Transmission Service (Pay-as-you-go) Service Terms.
-
Clique em Buy and Start. Na caixa de diálogo OK, clique em OK.
Visualize o progresso da tarefa na página Data Synchronization.