Use o DTS para migrar dados de um cluster PolarDB for MySQL para um cluster Kafka e amplie o processamento de mensagens.
Pré-requisitos
-
Um cluster Kafka autogerenciado ou uma instância de Message Queue for Apache Kafka deve estar criado como destino.
NotaSe o destino for uma instância de Message Queue for Apache Kafka, certifique-se de que um tópico foi criado para receber os dados migrados. Em seguida, configure a instância como um cluster Kafka autogerenciado. Para saber como criar um tópico, consulte Step 1: Create a topic.
Para verificar as versões compatíveis de source e destino, consulte migration solution overview.
O cluster Kafka de destino deve ter mais espaço de armazenamento do que o cluster PolarDB for MySQL de origem utiliza.
Limitações
O DTS não migra chaves estrangeiras. Por isso, operações em cascata — como exclusão em cascata — realizadas no banco de dados de origem não são replicadas no banco de dados de destino.
Type | Description |
Limitações do banco de dados de origem |
|
Outras limitações |
|
Outras observações |
|
Faturamento
|
Tipo de migração |
Taxa de configuração da instância |
Taxa de tráfego de Internet |
|
Migração de esquema e migração completa de dados |
Gratuito. |
Quando o parâmetro Access Method do banco de dados de destino estiver definido como Public IP Address, serão cobradas taxas de tráfego de Internet. Para mais informações, consulte Billing overview. |
|
Migração incremental de dados |
Cobrado. Para mais informações, consulte Billing overview. |
Tipos de migração
-
Schema migration
O DTS migra as definições de esquema dos objetos de migração do banco de dados de origem para o banco de dados de destino.
-
Full migration
O DTS migra todos os dados históricos dos objetos de migração especificados do banco de dados de origem para o banco de dados de destino.
-
Incremental migration
Após a conclusão da migração completa, o DTS migra as atualizações incrementais de dados do banco de dados de origem para o banco de dados de destino. A migração incremental permite migrar dados sem interromper suas aplicações autogerenciadas.
Operações SQL para migração incremental
|
Type |
SQL statement |
|
DML |
INSERT, UPDATE, and DELETE |
|
DDL |
CREATE TABLE, ALTER TABLE, DROP TABLE, RENAME TABLE, and TRUNCATE TABLE |
Permissões necessárias para contas de banco de dados
|
Database |
Permission requirements |
Actions |
|
Cluster PolarDB for MySQL |
Permissão de leitura nos objetos a serem migrados |
Procedimento
-
Acesse a página com a lista de tarefas de migração da região de destino por um dos métodos a seguir.
From the DTS console
Faça login no console do Data Transmission Service (DTS).
No painel de navegação à esquerda, clique em Data Migration.
No canto superior esquerdo da página, selecione a região onde a instância de migração está localizada.
From the DMS console
NotaAs operações reais podem variar conforme o modo e o layout do console do DMS. Para mais informações, consulte Simple mode console e Customize the layout and style of the DMS console.
Faça login no console do Data Management (DMS).
Na barra de menu superior, escolha .
À direita de Data Migration Tasks, selecione a região onde a instância de migração está localizada.
Clique em Create Task para acessar a página de configuração da tarefa.
-
Configure os bancos de dados de origem e de destino.
Section
Parameter
Description
N/A
Task Name
DTS gera automaticamente um nome para a tarefa. Recomendamos especificar um nome descritivo para facilitar a identificação. O nome não precisa ser exclusivo.
Source Database
Select Existing Connection
Para usar uma instância de banco de dados que já foi added to the system (criada ou salva), selecione a instância desejada na lista suspensa. As informações do banco de dados abaixo serão configuradas automaticamente.
NotaNo console do DMS, este parâmetro se chama Select a DMS database instance..
Se a instância de banco de dados ainda não foi registrada no sistema, ou se não for necessário usar uma instância registrada, configure manualmente as informações do banco de dados abaixo.
Database Type
Selecione PolarDB for MySQL.
Access Method
Selecione Alibaba Cloud Instance.
Instance Region
Selecione a região onde o cluster PolarDB for MySQL de origem está localizado.
Cross-account
Selecione No para migrar dados dentro da mesma conta Alibaba Cloud.
PolarDB Cluster ID
Selecione o ID do cluster PolarDB for MySQL de origem.
Database Account
Insira a conta do banco de dados do cluster PolarDB for MySQL de origem. Para informações sobre as permissões necessárias, consulte Permissions required for database accounts.
Database Password
Insira a senha da conta do banco de dados.
Encryption
Selecione um tipo de conexão conforme necessário. Para mais informações sobre o recurso de criptografia SSL, consulte Enable SSL encryption.
Destination Database
Select Existing Connection
Para usar uma instância de banco de dados que já foi added to the system (criada ou salva), selecione a instância desejada na lista suspensa. As informações do banco de dados abaixo serão configuradas automaticamente.
NotaNo console do DMS, este parâmetro se chama Select a DMS database instance..
Se a instância de banco de dados ainda não foi registrada no sistema, ou se não for necessário usar uma instância registrada, configure manualmente as informações do banco de dados abaixo.
Database Type
Selecione Kafka.
Access Method
Selecione um tipo de conexão de acordo com o local em que a instância de destino está implantada. Este exemplo usa Self-managed Database on ECS.
NotaSe o destino for um banco de dados autogerenciado, também é necessário concluir pré-requisitos adicionais. Para mais informações, consulte Preparation overview.
Instance Region
Selecione a região onde o cluster Kafka de destino está localizado.
ECS Instance ID
Selecione o ID da instância ECS onde o cluster Kafka de destino está implantado.
Port Number
Insira a porta de serviço do cluster Kafka de destino. A porta padrão é 9092.
Database Account
Insira o nome de usuário do cluster Kafka. Deixe em branco se a autenticação não estiver ativada.
Database Password
Insira a senha do nome de usuário do cluster Kafka. Deixe em branco se a autenticação não estiver ativada.
Kafka Version
Selecione a versão do seu cluster Kafka.
NotaSe o cluster Kafka autogerenciado for da versão 1.0 ou posterior, defina Kafka Version como Later Than 1.0.
Connection Method
Selecione Non-encrypted ou SCRAM-SHA-256 de acordo com os requisitos do seu negócio e de segurança.
Topic
Selecione na lista suspensa o tópico que receberá os dados.
Use Kafka Schema Registry
O Kafka Schema Registry disponibiliza uma interface RESTful para armazenar e recuperar schemas Avro.
No: Não utiliza o Kafka Schema Registry.
Yes: Utiliza o Kafka Schema Registry. É necessário informar a URL ou o endereço IP onde o schema Avro está registrado no Kafka Schema Registry.
-
Após concluir a configuração, clique em Test Connectivity and Proceed na parte inferior da página.
NotaCertifique-se de que o segmento de endereço IP do service DTS seja adicionado — de forma automática ou manual — às configurações de segurança dos bancos de dados de origem e de destino, a fim de permitir o acesso pelos servidores do DTS. Para mais informações, consulte Add DTS server IP addresses to a whitelist.
Se o banco de dados de origem ou de destino for autogerenciado (ou seja, o Access Method não for Alibaba Cloud Instance), clique em Test Connectivity na caixa de diálogo CIDR Blocks of DTS Servers exibida em seguida.
-
Configure os objetos da tarefa.
-
Na página Configure Objects, configure os objetos que deseja migrar.
Parameter
Description
Migration Types
Para uma migração completa de dados apenas, selecione Schema Migration e Full Data Migration.
Para uma migração com tempo de inatividade mínimo, selecione Schema Migration, Full Data Migration e Incremental Data Migration.
NotaSchema Migration não é compatível quando o Access Method da instância Kafka de destino está definido como Alibaba Cloud Instance.
Se você não selecionar Schema Migration, certifique-se de que o banco de dados de destino contém os bancos de dados e tabelas necessários para receber os dados. Também pode ser necessário usar o recurso de mapeamento de nomes de objetos na caixa Selected Objects.
Para garantir a consistência dos dados, se você não selecionar Incremental Data Migration, não grave novos dados na instância de source enquanto a migração de dados estiver em andamento.
Processing Mode for Existing Destination Tables
Precheck and Report Errors: Verifica se existem tabelas com os mesmos nomes no banco de dados de destino. Se nenhuma tabela com nomes iguais existir, a verificação prévia é aprovada. Caso contrário, um erro é reportado durante a verificação e a tarefa de migração não é iniciada.
NotaSe uma tabela no banco de dados de destino tiver o mesmo nome, mas não puder ser facilmente excluída ou renomeada, você pode alterar o nome dessa tabela no banco de dados de destino. Para mais informações, consulte Object name mapping.
Ignore Errors and Proceed: Ignora a verificação de tabelas com nomes iguais.
AvisoSelecionar Ignore Errors and Proceed pode causar inconsistência de dados e riscos ao negócio. Por exemplo:
Se os schemas das tabelas forem consistentes e um registro no banco de dados de destino tiver o mesmo valor de chave primária de um registro no banco de dados de source:
Durante a migração completa, o DTS mantém o registro no banco de dados de destino. O registro do banco de dados de source não é migrado.
Durante a migração incremental, o DTS não mantém o registro no banco de dados de destino. O registro do banco de dados de source substitui o registro no banco de dados de destino.
Se os schemas das tabelas forem inconsistentes, apenas algumas colunas de dados podem ser migradas ou a migração pode falhar. Prossiga com cautela.
Data Format in Kafka
Selecione o formato de dados para armazenar dados na instância Kafka.
Se selecionar DTS Avro, analise os dados com base na definição de schema DTS Avro. Para mais informações, consulte DTS Avro schema definition e DTS Avro deserialization example.
Se selecionar Canal JSON, consulte Canal JSON format para descrições de parâmetros e exemplos.
Se selecionar Shareplex JSON, consulte Shareplex JSON format para descrições de parâmetros e exemplos.
Kafka Data Compression Format
Selecione um formato de compressão para as mensagens Kafka de acordo com seus requisitos.
LZ4 (padrão): baixa taxa de compressão, alta velocidade de compressão.
GZIP: alta taxa de compressão, baixa velocidade de compressão.
NotaAlto consumo de CPU.
Snappy: taxa de compressão média, velocidade de compressão média.
Policy for Shipping Data to Kafka Partitions
Selecione um policy de acordo com os requisitos do seu negócio.
Message acknowledgement mechanism
Selecione um message acknowledgment mechanism de acordo com os requisitos do seu negócio.
Topic That Stores DDL Information
Selecione o tópico para armazenar informações DDL.
NotaSe nenhum tópico for selecionado, o DTS armazenará as informações DDL no tópico de dados por padrão.
Case Sensitivity Policy for Destination Object Names
Configure a sensibilidade a maiúsculas e minúsculas para os nomes de banco de dados, tabelas e colunas migrados na instância de destino. Por padrão, a opção DTS default policy é selecionada. Também é possível escolher uma política consistente com o banco de dados de source ou de destino. Para mais informações, consulte Case sensitivity of object names in the destination instance.
Source Objects
Selecione um ou mais objetos na seção Source Objects. Clique no ícone
e adicione os objetos à seção Selected Objects. NotaÉ possível selecionar objetos para migração no nível de tabela.
Selected Objects
Use o recurso de mapeamento para definir o nome do tópico, o número de partições e a chave de partição para cada tabela de source na instância Kafka de destino. Para mais informações, consulte Map information.
NotaSe você usar o recurso de mapeamento de nomes de objetos, outros objetos que dependem do objeto mapeado podem falhar na migração.
Para selecionar as operações SQL para migração incremental, clique com o botão direito em um objeto de migração na caixa Selected Objects e selecione as operações SQL desejadas na caixa de diálogo exibida.
-
Clique em Next: Advanced Settings para configurar os parâmetros avançados.
Parâmetro
Descrição
Dedicated Cluster for Task Scheduling
Por padrão, o DTS agenda tarefas em um cluster compartilhado. Não é necessário selecionar um. Se você precisar de tarefas mais estáveis, adquira um dedicated cluster para executar as tarefas de migração do DTS.
Retry Time for Failed Connections
Após o início da tarefa de migração, se a conexão com o banco de dados de origem ou de destino falhar, o DTS reporta um erro e inicia imediatamente as tentativas de reconexão. A duração padrão para novas tentativas é de 720 minutos. É possível personalizar esse valor entre 10 e 1440 minutos. Recomendamos definir uma duração superior a 30 minutos. Se o DTS restabelecer a conexão com os bancos de dados de origem e de destino dentro do período especificado, a tarefa de migração será retomada automaticamente. Caso contrário, a tarefa falhará.
NotaPara múltiplas instâncias do DTS que compartilham a mesma origem ou destino, o tempo de nova tentativa de rede é determinado pela configuração da última tarefa criada.
Como a tarefa é cobrada durante o período de novas tentativas de conexão, recomendamos personalizar o tempo de nova tentativa de acordo com as necessidades do seu negócio, ou liberar a instância do DTS assim que as instâncias dos bancos de dados de origem e de destino forem liberadas.
Retry Time for Other Issues
Após o início da tarefa de migração, se ocorrer um problema que não seja de conectividade no banco de dados de origem ou de destino — como uma exceção na execução de DDL ou DML —, o DTS reporta um erro e inicia imediatamente as tentativas de repetição da operação. A duração padrão é de 10 minutos. É possível personalizar esse valor entre 1 e 1440 minutos. Recomendamos definir uma duração superior a 10 minutos. Se as operações relacionadas forem concluídas com êxito dentro do período especificado, a tarefa de migração será retomada automaticamente. Caso contrário, a tarefa falhará.
ImportanteO valor de Retry Time for Other Issues deve ser menor que o valor de Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Durante a migração completa, o DTS consome recursos de leitura e gravação nos bancos de dados de origem e de destino, o que pode aumentar a carga sobre eles. Se necessário, ative o controle de throughput para a tarefa de migração completa. Defina 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) para reduzir a carga sobre o banco de dados de destino.
NotaEste item de configuração estará disponível somente se você selecionar Full Data Migration em Migration Types.
Você também pode adjust the full migration speed após a instância de migração estar em execução.
Enable Throttling for Incremental Data Migration
Se necessário, você também pode definir limites de velocidade para a tarefa de migração incremental. Defina os parâmetros RPS of Incremental Data Migration e Data migration speed for incremental migration (MB/s) para reduzir a carga sobre o banco de dados de destino.
NotaEste item de configuração estará disponível somente se você selecionar Incremental Data Migration em Migration Types.
Você também pode adjust the incremental migration speed após a instância de migração estar em execução.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks
Escolha se deseja gravar informações de SQL de heartbeat no banco de dados de origem enquanto a instância do DTS estiver em execução.
-
Yes: As informações de SQL de heartbeat não são gravadas no banco de dados de origem. Isso pode fazer com que a instância do DTS reporte um atraso.
-
No: Grava informações de SQL de heartbeat no banco de dados de origem. Isso pode interferir em recursos como backup físico e clonagem do banco de dados de origem.
Environment Tag
Selecione uma tag de ambiente para identificar a instância. Este parâmetro é opcional.
Configure ETL
Com base nas suas necessidades de negócio, selecione se deseja configurar o ETL feature para processar os dados.
Yes: Configura o recurso ETL. Insira também data processing statements na caixa de texto.
No: Não configura o recurso ETL.
Monitoring and Alerting
Selecione se deseja definir alertas e receber notificações de alerta de acordo com as suas necessidades de negócio.
No: Não define um alerta.
Yes: Configure alertas definindo um alert threshold e um alert notifications. Se uma migração falhar ou a latência ultrapassar o limiar, o sistema enviará uma notificação de alerta.
-
-
Salve a tarefa e execute uma pré-verificação.
Para visualizar os parâmetros de configuração desta instância ao chamar a operação de API, passe o ponteiro sobre o botão Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters no balão que aparecer.
Se não precisar visualizar os parâmetros de API, ou após concluir a visualização, clique em Next: Save Task Settings and Precheck na parte inferior da página.
NotaAntes de iniciar a tarefa de migração, o DTS realiza uma pré-verificação. A tarefa só será iniciada após ser aprovada nessa verificação.
Se a pré-verificação falhar, clique em View Details ao lado do item com falha, corrija o problema com base nas instruções exibidas e execute a pré-verificação novamente.
-
Se um aviso for reportado durante a pré-verificação:
Para itens que não podem ser ignorados, clique em View Details ao lado do item com falha, corrija o problema com base nas instruções exibidas e execute a pré-verificação novamente.
Para itens que podem ser ignorados, clique em Confirm Alert Details, Ignore, OK e Precheck Again para ignorar o item de aviso e executar a pré-verificação novamente. Optar por ignorar um aviso pode causar problemas como inconsistência de dados e representar riscos para o seu negócio.
-
Adquira a instância.
Quando o Success Rate atingir 100%, clique em Next: Purchase Instance.
-
Na página Purchase, selecione a especificação de link para a instância de migração de dados. Para mais informações, consulte a tabela a seguir.
Categoria
Parâmetro
Descrição
New Instance Class
Resource Group Settings
Selecione o grupo de recursos ao qual a instância pertence. O valor padrão é o grupo de recursos default. Para mais informações, consulte What is resource management?
Instance Class
O DTS oferece especificações de migração com diferentes níveis de desempenho. A especificação de link afeta a velocidade de migração. Escolha uma especificação de acordo com o seu cenário de negócios. Para mais informações, consulte Data migration link specifications.
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 exibida, clique em OK.
Visualize o andamento da tarefa de migração na página de lista Data Migration Tasks.
NotaSe a tarefa de migração não incluir migração incremental, ela é encerrada automaticamente após a conclusão da migração completa. Após o encerramento, o Status da tarefa muda para Completed.
Se a tarefa de migração incluir migração incremental, ela não é encerrada automaticamente — a migração incremental continua em execução. Enquanto estiver em andamento, o Status da tarefa permanece como Running.
Na área Selected Objects, passe o cursor sobre o nome do tópico de destino no nível da tabela.
Clique em Edit ao lado do nome do tópico de destino.
-
Na caixa de diálogo Edit Table, configure as informações de mapeamento.
NotaA caixa de diálogo é denominada Edit Schema no nível do banco de dados e Edit Table no nível da tabela. A caixa de diálogo Edit Schema possui menos parâmetros.
Caso não esteja migrando o banco de dados completo, não é possível modificar os parâmetros Name of target Topic e Number of Partitions na caixa de diálogo Edit Schema.
Parâmetro
Descrição
Name of target Topic
Nome do tópico que recebe os dados da tabela de origem. O valor padrão corresponde ao Topic selecionado na seção Destination Database durante a etapa Configurations for Source and Destination Databases.
ImportanteSe o destino for uma instância Message Queue for Apache Kafka, o tópico especificado já deve existir na instância de destino. Caso contrário, a tarefa de migração de dados falhará. Se o destino for um banco de dados Kafka auto-hospedado e a tarefa incluir migração de estrutura de banco de dados e tabela, o DTS tentará criar o tópico especificado no banco de dados de destino.
Ao alterar o valor de Name of target Topic, o DTS gravará os dados no tópico especificado.
Filter Conditions
Para mais informações, consulte Configure filter conditions.
Number of Partitions
Número de partições no tópico de destino.
Partition Key
Disponível quando Policy for Shipping Data to Kafka Partitions está definida como Ship Data to Separate Partitions Based on Hash Values of Primary Keys. Especifique uma ou mais colunas como chave de partição. O DTS calcula um hash para as colunas especificadas e distribui as linhas entre as partições do tópico de destino.
NotaA seleção de Partition Key está disponível apenas na caixa de diálogo Edit Table.
Clique em OK.