A sincronização de banco de dados em lote do DataWorks replica esquemas de tabelas e dados de um banco de dados de source para um destino conforme uma programação recorrente. Esse recurso oferece suporte à sincronização completa, incremental ou a uma combinação de ambas. Este tópico utiliza a sincronização de MySQL para MaxCompute como exemplo.
Antes de começar
Antes de iniciar, certifique-se de ter:
Criado as fontes de dados de source e de destino. Consulte Gerenciamento de fontes de dados. Confirme se suas fontes de dados suportam sincronização de banco de dados em lote — visualize Fontes de dados suportadas.
Adquirido e configurado um grupo de recursos serverless.
Estabelecido a conectividade de rede entre o grupo de recursos e ambas as fontes de dados.
Observações de uso
As tarefas de sincronização de banco de dados em lote estão disponíveis tanto no DataStudio quanto em Data Integration. Ambos os módulos compartilham a mesma interface de configuração, parâmetros e funcionalidades.
Tarefas criadas no Data Integration aparecem automaticamente no diretório data_integration_jobs do DataStudio, organizadas pelo canal SourceType-DestinationType.
Configure uma tarefa de sincronização
Etapa 1: Crie uma tarefa de sincronização
Faça login no console do DataWorks. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha Data Integration > Data Integration. Selecione seu workspace e clique em Go to Data Integration.
-
Na barra de navegação à esquerda, clique em Synchronization Task e, em seguida, clique em Create Synchronization Task. Configure os seguintes itens:
Data Source Type (source):
MySQLData Source Type (destino):
MaxComputeSpecific Type:
Full database offline-
Synchronization Mode: Selecione uma ou mais Synchronization Steps. Cada etapa funciona em conjunto com a configuração de Full and Incremental Control para definir sua estratégia de sincronização.
Etapa de sincronização
Descrição
Schema Migration
Cria objetos de banco de dados (tabelas, campos, tipos de dados) no destino para corresponder à source. Não copia dados.
Full Synchronization (opcional)
Copia todos os dados históricos das tabelas de source para o destino em uma única operação. Utilizado para inicialização de dados ou migração de sistemas.
Incremental Sync (opcional)
Após a sincronização completa, captura continuamente novos dados da source com base na condição incremental e os grava no destino.
Etapa 2: Configure fontes de dados e recursos de execução
Em Source Data Source, selecione a fonte de dados MySQL adicionada ao seu workspace. Em Destination, selecione a fonte de dados MaxCompute.
Em Running Resources, selecione um Resource Group e defina as Resource Group CUs. Caso a tarefa falhe com um erro de falta de memória (OOM), aumente a alocação de CU.
Execute o Connectivity Check para confirme se ambas as fontes de dados estão acessíveis a partir do grupo de recursos.
Etapa 3: Configure a solução de sincronização
1. Selecione tabelas de source
Em Source tables, selecione as tabelas a serem sincronizadas e clique em no ícone de seta para movê-las para Selected tables.

Para bancos de dados grandes, utilize Database Filtering ou Table filtering para selecione tabelas por expressão regular.
2. Inicializar partições de destino
Clique em Configuration ao lado de Partition Initialization Configuration para defina partições padrão para novas tabelas de destino. Essa configuração aplica-se a todas as novas tabelas; tabelas já configuradas não são afetadas.
3. Defina o modo de sincronização
Escolha como a tarefa será executada com base no seu caso de uso. Se você selecione sincronização completa e incremental, o modo fica bloqueado para: uma sincronização completa única seguida de sincronização incremental recorrente. Essa opção não pode ser alterada.
|
Etapas de sincronização |
Controle de sincronização |
Comportamento |
Recomendado para |
|
Sincronização completa |
Execução única |
Sincroniza todos os dados da tabela de source uma vez para a tabela de destino ou para uma partição especificada |
Inicialização de dados, migração de sistema |
|
Sincronização completa |
Recorrente |
Sincroniza periodicamente todos os dados da tabela de source conforme a programação configurada |
Reconciliação de dados, snapshot completo T+1 |
|
Sincronização incremental |
Execução única |
Sincroniza dados incrementais uma vez com base na condição incremental |
Reparo manual de dados para um lote específico |
|
Sincronização incremental |
Recorrente |
Sincroniza periodicamente dados incrementais com base no ciclo de agendamento e na condição incremental |
ETL diário, tabelas de dimensão de mudança lenta |
|
Sincronização completa + sincronização incremental |
Integrado (não selecionável) |
Primeira execução: migração de esquema + sincronização completa. Execuções subsequentes: sincronização incremental recorrente |
Data warehousing com um clique ou ingestão de data lake |
O sistema gera instâncias para tarefas agendadas utilizando o método Generate immediately after publishing. Consulte Método de geração de instância: Generate immediately after publishing .
É possível defina o método de geração de partições na etapa subsequente de Value assignment, usando constantes ou gerando partições dinamicamente com variáveis predefinidas pelo sistema e parâmetros de agendamento periódico.
As configurações de ciclo de agendamento, condição incremental e método de geração de partição são interligadas. Para mais informações, consulte Configure a condição incremental abaixo.
Se sua tarefa envolver sincronização periódica, clique em Scheduling Parameters for Periodical Scheduling para configure o agendamento. Use esses parâmetros para defina a incremental condition e o field assignment para o mapeamento da tabela de destino.
4. Configure o mapeamento da tabela de destino
Defina as regras de mapeamento entre as tabelas de source e de destino, incluindo a forma como os dados são gravados.

|
Ação |
Descrição |
|
Refresh mapping |
Lista as tabelas de source selecionadas e aplica as propriedades da tabela de destino. Selecione as tabelas e clique em Batch Refresh Mapping. O nome padrão da tabela de destino é |
|
Edit field type mapping (opcional) |
Clique em Edit Mapping of Field Data Types para personalizar o mapeamento dos tipos de campo de source para os tipos de campo de destino. Clique em Apply and Refresh Mapping ao terminar. Mapeamentos de tipo incorretos podem causar dados inconsistentes e falhas na tarefa. |
|
Customize destination table name mapping (opcional) |
A regra de nomenclatura padrão é |
|
Customize destination database name mapping (opcional) |
Para destinos que suportam mapeamento no nível de banco de dados (como Hologres), defina regras de mapeamento para bancos de dados de destino. A configuração segue o mesmo método do mapeamento de nomes de tabelas. |
|
Customize destination schema name mapping (opcional) |
Para destinos que suportam mapeamento no nível de esquema (como Hologres), defina regras de mapeamento para esquemas de destino. A configuração segue o mesmo método do mapeamento de nomes de tabelas. |
|
Edit destination table schema (opcional) |
O sistema gera automaticamente o esquema de destino a partir da source. Para personalizar: adicione um campo a uma única tabela clicando em no botão na coluna Target Table; adicione campos em massa selecionando tabelas e escolhendo Batch Edit > Batch Modify Table Schema. Não há suporte para renomear colunas. |
|
Value assignment |
Campos padrão são mapeados automaticamente por nome. Atribua valores manualmente para campos de partição e quaisquer novos campos adicionados. Para uma única tabela, clique em Configuration na coluna Value assignment. Para atribuição em massa, use Batch Edit > Value assignment. Tipos de atribuição suportados: insira uma constante ou um parâmetro de agendamento diretamente (como |
|
Set source sharding column |
Selecione um campo da tabela de source para fragmentar a sincronização em leituras em lote paralelas. Utilize a chave primária da tabela. Tipos string, float e date não são suportados. Atualmente, há suporte apenas quando a source é MySQL. |
|
Customize advanced parameters |
Configure a Writer Configuration e a Runtime Configuration por subtarefa. Modifique apenas quando compreender totalmente cada parâmetro — valores incorretos podem causar latência na tarefa, contenção de recursos ou perda de dados. |
|
Table type |
Para destinos MaxCompute, os tipos de tabela suportados são tabelas padrão, PK Delta Tables e Append Delta Tables. Selecione o tipo de tabela ao edite o esquema de uma tabela com status "To be created". O tipo de uma tabela existente não pode ser alterado. Consulte Delta Table. |
5. Configure o agendamento recorrente
Se a sincronização incremental for executada em um agendamento recorrente, configure as definições de agendamento para cada tabela de destino: Scheduling Frequency, Data Timestamp e Resource Group for Scheduling. Essas configurações seguem o mesmo formato do agendamento de nós no DataStudio. Consulte Configuração de agendamento de nó.
Se uma tarefa de sincronização única envolver muitas tabelas, escalone os horários de execução para evitar acúmulos de tarefas e contenção de recursos.
6. Configure a condição incremental
Caso a tarefa sincronize dados incrementais, defina uma condição incremental para controlar quais dados cada instância agendada processa.
A condição incremental é uma expressão de cláusula WHERE — insira apenas a expressão condicional sem a palavra-chave WHERE.
Usar parâmetros de agendamento para filtragem baseada em tempo
Para sincronizar dados do dia anterior, defina a condição como:
STR_TO_DATE('${bizdate}', '%Y%m%d') <= columnName AND columnName < DATE_ADD(STR_TO_DATE('${bizdate}', '%Y%m%d'), INTERVAL 1 DAY)
Gravar em uma partição por data
Combine a condição incremental com o campo de partição da tabela de destino para direcionar cada lote à partição correta. Com a condição acima, defina o campo de partição como ds=${bizdate}. Cada instância diária sincroniza os dados do dia anterior e os grava na partição correspondente.
Ao alinhar o intervalo de tempo na condição incremental, o intervalo de geração de partição e o ciclo de agendamento, você cria um pipeline de ETL incremental T+n automatizado onde as regras de negócio e as partições físicas permanecem sincronizadas.
Etapa 4: Configure definições avançadas
Parâmetros avançados
Para ajustar a tarefa para requisitos de sincronização personalizados:
Clique em Advanced Configuration no canto superior direito.
Atualize os valores dos parâmetros usando as descrições inline como guia.
-
(Opcional) Utilize a configuração assistida por IA: insira uma instrução em linguagem natural (como "ajustar concorrência da tarefa") e o sistema gerará valores recomendados para sua revisão.

Modifique parâmetros avançados apenas se compreender totalmente sua finalidade. Valores incorretos podem causar latência na tarefa, consumo excessivo de recursos ou perda de dados.
Parâmetros do mecanismo
Não configure parâmetros do mecanismo a menos que seja orientado por especialistas internos ou suporte técnico.
Etapa 5: Implantar e execute a tarefa
Clique em Save para salve a configuração da tarefa.
Clique em Deploy. Tarefas de sincronização de banco de dados em lote não podem ser depuradas diretamente na interface — elas devem ser implantadas no Operation Center para execução.
Se você selecione Start immediately after deployment, a tarefa iniciará automaticamente após a implantação. Caso contrário, acesse Data Integration > Synchronization Task e inicie a tarefa manualmente pela coluna Actions.
Clique em no Name/ID da tarefa para visualize seu progresso detalhado de execução.
Etapa 6: Configure uma regra de alerta
Regras de alerta são vinculadas a subtarefas, não à tarefa de sincronização de nível superior.
Em Data Integration > Synchronization Task, anote o Task ID da tarefa alvo.
Em Operation Center > Auto Triggered Task, pesquise a subtarefa correspondente usando o ID da tarefa de integração. Por exemplo, se o ID da tarefa de integração for
34862, a subtarefa de sincronização incremental será nomeada comooffline_odps_cyc_sync_mysql_test_timetest_to_mysql_test_timetest_34862.Clique em More > Add Alert Rule para abrir a página de Gerenciamento de Regras.
Na caixa de diálogo Create Custom Rule, defina Rule Object, Trigger Method e Alert Details. Consulte Gerenciamento de Regras para detalhes.
Dica: Pesquise pelo ID da subtarefa em Rule Object para localizar rapidamente a tarefa alvo.
Gerencie tarefas de sincronização
Edite uma tarefa
Na página Data Integration > Synchronization Task, localize a tarefa. Na coluna Operation, clique em More > Edit.
Para uma tarefa que não está em execução: modifique a configuração, salve e implante. As alterações entram em vigor após a implantação.
Para uma tarefa que está em execução: edite e implante sem selecione Start immediately after deployment. O botão de ação muda para Apply Updates — clique em nele para enviar as alterações ao ambiente ativo.
-
Clicar em Apply Updates executa três etapas: Stop > Deploy > Restart. Tabelas não modificadas não são afetadas e não serão reexecutadas.
Tipo de alteração
Efeito nos dados existentes
Comportamento da sincronização incremental
Adicionar uma tabela
A migração de esquema e a sincronização completa única iniciam imediatamente para a nova tabela
Segue o agendamento após a conclusão da sincronização completa
Trocar a tabela de destino
A subtarefa antiga é excluída; a nova subtarefa executa migração de esquema e sincronização completa única imediatamente
Segue o agendamento após a conclusão da sincronização completa
Modifique outras configurações
A migração de esquema e a sincronização completa não são afetadas
Novas instâncias usam a configuração atualizada; instâncias existentes não são afetadas
Visualize uma tarefa
Após crie uma tarefa, visualize a lista de tarefas de sincronização e seus status na página Synchronization Task.

Na coluna Actions, clique em Start ou Stop. Em More, acesse Edit, View e outras operações.
-
Depois que uma tarefa iniciar, abra o Execution Overview para ver os detalhes da execução. Clique em uma área de visão geral para obter informações mais detalhadas sobre a execução.

Limitações
|
Limitação |
Detalhes |
|
Depuração |
Tarefas de sincronização em lote não podem ser depuradas nas interfaces do Data Integration ou DataStudio. Implante-as no Operation Center para executá-las. |
|
Coluna de fragmentação da source |
Suportado apenas quando a source é MySQL. A coluna deve ser de tipo numérico — tipos string, float e date não são suportados. |
|
Alterações de esquema |
Não há suporte para renomear colunas ao edite o esquema da tabela de destino. Para tabelas de destino existentes, o Table type não pode ser alterado. |
Próximos passos
Após o início da tarefa, clique em no nome da tarefa para visualize os detalhes da execução e realizar a O&M e ajuste da tarefa.
Para problemas comuns, consulte as Perguntas frequentes sobre tarefas de sincronização completa e incremental.
Para exemplos de ponta a ponta, veja os Casos de uso de sincronização de banco de dados em lote.