O Data Integration suporta a sincronização em tempo real de um banco de dados inteiro de uma origem, como o MySQL, para o Elasticsearch. Este tópico descreve como executar a sincronização completa e incremental em tempo real usando um cenário do MySQL para o Elasticsearch.
Pré-requisitos
-
Preparação da fonte de dados
Crie uma fonte de dados MySQL e uma fonte de dados Elasticsearch. Para mais informações, consulte Configuração de fonte de dados.
Habilite o Binlog na fonte de dados MySQL. Para mais informações, consulte Pré-requisitos.
Grupo de recursos: Adquira um grupo de recursos serverless.
Conectividade de rede: Estabeleça conectividade de rede entre o grupo de recursos e a fonte de dados. Para mais informações, consulte Visão geral da solução de conectividade de rede.
Configurar a tarefa
Etapa 1: Criar uma tarefa de sincronização
-
Faça login no console do DataWorks. Na região de destino, clique em no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Data Integration.
-
No painel de navegação à esquerda, clique em Synchronization Task. Na página exibida, clique em Create Synchronization Task e configure as informações da tarefa.
Source Type:
MySQL.Destination Type:
Elasticsearch.Specific Type:
real-time synchronization of entire database.-
Synchronization Mode:
Schema Migration: Cria automaticamente uma estrutura de índice correspondente no destino, incluindo índices e mapeamentos de campos. Esta etapa não migra dados.
Full Synchronization (Opcional): Copia todos os dados históricos dos objetos de origem especificados, como tabelas, para o destino de uma só vez. Geralmente usado para migração ou inicialização inicial de dados.
Incremental Sync (Opcional): Após a conclusão da sincronização completa, captura continuamente alterações de dados (inserções, atualizações e exclusões) da origem e as sincroniza com o destino.
Etapa 2: Configurar fontes de dados e recursos de computação
Em Source, selecione a fonte de dados
MySQL. Em Destination, selecione a fonte de dadosElasticsearch.-
Na seção Running Resources, selecione o Resource Group para a tarefa de sincronização e aloque Resource Group CU à tarefa.
NotaSe os logs da tarefa exibirem uma mensagem como
Please confirm whether there are enough resources..., isso indica que as unidades de computação (CUs) disponíveis no grupo de recursos atual são insuficientes para iniciar ou executar a tarefa. Aumente o número de CUs alocadas à tarefa no painel Configure Resource Group para alocar mais recursos de computação.Para valores recomendados de tamanho de recurso, consulte CUs recomendadas para Data Integration. Ajuste os valores conforme suas necessidades reais.
Garanta que tanto a fonte de dados de origem quanto a de destino passem na Connectivity Check.
Etapa 3: Configurar o plano de sincronização
1. Configurar a fonte de dados
-
Nesta etapa, selecione as tabelas a serem sincronizadas da fonte de dados na seção Source Tables e clique no ícone
para movê-las para a seção Selected Tables à direita. Se houver muitas tabelas, utilize Database Filtering ou Table filtering para selecionar as tabelas a serem sincronizadas configurando expressões regulares.
-
Para gravar dados de várias tabelas fragmentadas (com o mesmo esquema) em uma única tabela de destino, use a opção Select Tables by Regex.
Insira uma expressão regular na configuração da tabela de origem. O DataWorks identifica e coleta automaticamente todas as tabelas de origem correspondentes e grava seus dados na tabela de destino mapeada pela expressão.NotaEste método aplica-se a cenários de sincronização de mesclagem de tabelas fragmentadas (semelhante à sincronização baseada em sharding), melhorando a eficiência da configuração e evitando a necessidade de adicionar repetidamente regras de sincronização muitos-para-um.
2. Configurar mapeamento de índice de destino
Ações | Descrição | ||||||||||||
Refresh | O sistema lista automaticamente as tabelas de origem selecionadas. No entanto, as propriedades do índice de destino só são aplicadas após você atualizá-las e confirmá-las.
| ||||||||||||
Custom Mapping Rule for Destination Index Name (Opcional) | O sistema usa uma regra padrão para gerar nomes de índice:
Este recurso suporta os seguintes cenários:
| ||||||||||||
Edit Field Type Mapping (Opcional) | O sistema fornece um mapeamento padrão entre Source Type e Destination Type. Clique em Edit Mapping of Field Data Types no canto superior direito da tabela para personalizar o mapeamento de tipos de dados de campo entre as tabelas de origem e os índices de destino. Após concluir a configuração, clique em Apply and Refresh Mapping. Ao editar mapeamentos de tipo de campo, certifique-se de que as regras de conversão de tipo sejam válidas. Caso contrário, podem ocorrer falhas na conversão, gerando dados incorretos e interrompendo a tarefa. | ||||||||||||
Edit Destination Index (Opcional) | Com base nas regras personalizadas de mapeamento de nome de índice, o sistema cria automaticamente novos índices de destino ou reutiliza existentes com nomes correspondentes. O DataWorks gera automaticamente a estrutura do índice de destino com base na estrutura da tabela de origem. Na maioria dos casos, a intervenção manual não é necessária. Quando o status do índice de destino for To be created, adicione novos campos ao índice de destino com base em sua estrutura de tabela original. Execute as seguintes operações:
| ||||||||||||
Value assignment | Campos nativos são mapeados automaticamente com base na correspondência de nomes de campo entre origem e destino. Atribua valores manualmente para os novos campos e propriedades do índice de destino que você adicionou. Execute as seguintes operações:
Atribua constantes e variáveis alterando o Value Type. As seguintes opções são suportadas:
| ||||||||||||
Source split column | Selecione um campo da tabela de origem na lista suspensa Source split column ou escolha Not Split. Quando a tarefa de sincronização é executada, ela é dividida em várias subtarefas com base nesta coluna para ler dados em lotes e em paralelo. Recomendamos usar a chave primária da tabela como coluna de divisão de origem. Tipos string, float e date não são suportados. A coluna de divisão de origem é suportada apenas quando a origem é MySQL. | ||||||||||||
Skip full synchronization | Se você configurou a sincronização completa na Etapa 3, opte por pular a sincronização completa para tabelas individuais. Isso é útil se você já sincronizou os dados completos com o destino usando outros métodos. | ||||||||||||
Full condition | Aplica um filtro aos dados de origem durante a fase de sincronização completa. Insira apenas as condições de filtro de uma cláusula | ||||||||||||
Configure DML Rule | O processamento de mensagens DML aplica filtragem e controle refinados aos dados de alteração ( |
Etapa 4: Configurações avançadas
Configuração de parâmetros avançados
Para personalizar a tarefa, modifique os parâmetros na aba Advanced Parameters.
Clique em Advanced Settings no canto superior direito para acessar a página de configuração de parâmetros avançados.
Modifique os valores dos parâmetros conforme as descrições fornecidas.
-
Utilize também a configuração assistida por IA. Insira um comando em linguagem natural, como um comando para ajustar a concorrência da tarefa, e o modelo de IA gera valores de parâmetro recomendados. Escolha se deseja aceitar os parâmetros gerados pela IA.
Além de aceitar ou rejeitar as sugestões, clique em Regenerate para que o Copilot forneça novas recomendações de parâmetros.
Modifique esses parâmetros apenas se compreender totalmente sua finalidade. Isso ajuda a evitar problemas inesperados, como latência de tarefa, consumo excessivo de recursos que bloqueia outras tarefas e perda de dados.
Configuração de capacidade DDL
Alguns canais de sincronização em tempo real detectam alterações de metadados no esquema da tabela de origem e notificam o destino para sincronizar as atualizações, ou executam outras ações, como alertar, ignorar ou encerrar a tarefa.
Clique em Configure DDL Capability no canto superior direito para definir a política de processamento para cada tipo de alteração. As políticas de processamento suportadas variam conforme o canal.
Processamento normal: O destino processa as informações de alteração DDL da origem.
Ignorar: A mensagem de alteração é ignorada e o destino não é modificado.
Erro: A tarefa de sincronização de banco de dados completo em tempo real é encerrada e o status é definido como Error.
Alerta: Um alerta é enviado a você quando esse tipo de alteração ocorre na origem. Configure uma regra de notificação DDL em Configure Alert Rule.
Após a adição de uma nova coluna na origem e sua criação no destino por meio da sincronização DDL, o sistema não preenche dados retroativamente para os dados existentes na tabela de destino.
Etapa 5: Implantar e executar a tarefa
Após concluir todas as configurações, clique em Save na parte inferior da página para salvar a configuração da tarefa.
Tarefas de sincronização de banco de dados completo não suportam depuração direta. Implante-as no Operation Center para execução. Portanto, execute a operação Deploy para que qualquer tarefa nova ou editada entre em vigor.
Durante a implantação, se você selecionar Start immediately after deployment, a tarefa iniciará simultaneamente à implantação. Caso contrário, após a implantação, acesse e inicie manualmente a tarefa na coluna Operation da tarefa alvo.
Clique no Name/ID da tarefa correspondente em Tasks para visualizar o processo detalhado de execução da tarefa.
Etapa 6: Configuração de alertas
1. Criar um alerta
Na lista , localize a tarefa de banco de dados completo em tempo real e clique em na coluna Operation para configurar políticas de alerta para a tarefa.

(1) Clique em Create Rule para configurar uma regra de alerta.
Defina Alert Reason para monitorar métricas da tarefa, como Business delay, Failover, Task status, DDL Notification e Task Resource Utilization, e defina níveis de alerta CRITICAL ou WARNING com base em limiares especificados.
Ao configurar Configure Advanced Parameters, controle o intervalo de tempo entre mensagens de alerta para evitar o envio excessivo de mensagens de uma só vez, o que pode causar desperdício e acúmulo de mensagens.
Se o motivo do alerta estiver definido como Business delay, Task status ou Task Resource Utilization, ative também notificações de recuperação para informar os destinatários quando a tarefa retornar ao normal.
(2) Gerenciar regras de alerta.
Para regras de alerta existentes, use o interruptor de alerta para ativar ou desativar regras. Envie também alertas para pessoas diferentes com base no nível de alerta.
2. Visualizar alertas
Clique em na lista de tarefas para expandir o painel e acessar a página de eventos de alerta, onde é possível visualizar os alertas ocorridos.
Gerenciar tarefa
Editar tarefa
Na página , localize a tarefa de sincronização criada. Na coluna Operation, escolha More > Edit para modificar as informações da tarefa. Os passos são os mesmos da configuração de uma nova tarefa.
Para tarefas que não estão em execução, modifique e salve diretamente a configuração e, em seguida, implante a tarefa no Operation Center para aplicar as alterações.
Para tarefas que estão Running, se você editar e implantar a tarefa sem selecionar Start immediately after deployment, o botão de ação original mudará para Apply Updates. Clique neste botão para que as alterações entrem em vigor no Operation Center.
-
Após clicar em Apply Updates, o sistema para, implanta e reinicia a tarefa para aplicar as alterações.
-
Se você adicionar novas tabelas ou alternar tabelas existentes:
Não é possível selecionar uma posição ao aplicar a atualização. Após confirmar a atualização, o sistema executa migração de esquema e sincronização completa para as novas tabelas. Após a conclusão da inicialização, a sincronização incremental começa para essas tabelas juntamente com as originais.
-
Se você modificar outras informações:
Selecione uma posição ao aplicar atualizações. Após a confirmação, a tarefa retoma da posição especificada. Se nenhuma posição for especificada, ela retoma da posição em que parou pela última vez (o último checkpoint).
Tabelas não modificadas não são afetadas. Após a atualização e reinício, elas retomam do último checkpoint.
-
Visualizar tarefa
Após criar uma tarefa de sincronização, visualize a lista de tarefas criadas e suas informações básicas na página Synchronization Task.
Na coluna Operation, Start ou Stop uma tarefa de sincronização. No menu More, execute outras operações, como Edit e View.
-
Para tarefas em execução, visualize seu status na seção Execution Overview. Clique também em uma área específica da visão geral para ver detalhes de execução. Clique em View para acessar a página de detalhes da tarefa de sincronização. A seção Basic Information na parte superior exibe o ID da tarefa, fontes de dados (por exemplo, MySQL_Source → Elasticsearch_Source), horário de criação, grupo de recursos de sincronização, status (Running), plano de sincronização (sincronização em tempo real de banco de dados inteiro) e as CUs ocupadas pela tarefa. A seção Execution Status no meio usa barras de progresso para mostrar a porcentagem de conclusão e o status de execução das três etapas: migração de esquema, sincronização completa e sincronização de dados em tempo real.
Uma tarefa de sincronização em tempo real do MySQL para o Elasticsearch consiste em três etapas:
Migração de esquema: Mostra como o índice de destino foi criado (a partir de um índice existente ou criado automaticamente). Se o índice foi criado automaticamente, a instrução DDL é exibida.
Sincronização completa: Exibe informações sobre as tabelas sincronizadas usando sincronização offline, seu progresso e o número de registros gravados.
Sincronização de dados em tempo real: Exibe estatísticas em tempo real, incluindo progresso, registros DDL e DML e informações de alerta.
Reexecutar uma tarefa
Em certos cenários, como quando é necessário adicionar ou remover tabelas, ou modificar o esquema da tabela de destino ou informações de nome da tabela, clique em Rerun na coluna Operations da tarefa de sincronização. O sistema sincroniza apenas as tabelas recém-adicionadas ou modificadas. Tabelas sincronizadas anteriormente ou não modificadas não são sincronizadas novamente.
Clique em Rerun para reexecutar a inicialização completa e a sincronização em tempo real.
Edite a tarefa para adicionar ou remover tabelas, salve a tarefa e, em seguida, implante-a. Após a implantação, o botão Apply Updates aparece na coluna Operations. Clique em Apply Updates para acionar uma reexecução da tarefa modificada. Apenas as tabelas recém-adicionadas ou modificadas são sincronizadas. Tabelas sincronizadas anteriormente não são sincronizadas novamente.
Retomar do checkpoint
Casos de uso
Redefinir a posição inicial da tarefa é útil para os seguintes cenários:
Recuperação de tarefa e retomada de dados: Se uma tarefa for interrompida, especifique manualmente o horário da interrupção como a nova posição inicial para retomar a sincronização de dados do ponto correto.
Solução de problemas de dados e rollback: Se encontrar dados ausentes ou anormais após a sincronização, reverta a posição para um horário anterior à ocorrência do problema para reproduzir e corrigir os dados.
Alterações importantes na configuração da tarefa: Após fazer ajustes significativos na configuração da tarefa, como estrutura do índice de destino ou mapeamentos de campos, redefina a posição para iniciar a sincronização a partir de um ponto específico. Isso garante a precisão dos dados sob a nova configuração.
Procedimento
Clique em Start. Na caixa de diálogo exibida, selecione se deseja Whether to reset the site.
Se você não marcar a caixa de seleção, a tarefa retoma do último ponto de parada (o último checkpoint).
Se você marcar a caixa de seleção e especificar um horário, a tarefa começará a partir do horário especificado. Certifique-se de que o horário selecionado não seja anterior à posição disponível mais antiga no Binlog de origem.
Se encontrar um erro sobre uma posição inválida ou inexistente, use as seguintes soluções:
Redefinir a posição: Ao iniciar a tarefa de sincronização em tempo real, redefina a posição e selecione a posição disponível mais antiga no banco de dados de origem.
Ajustar o período de retenção de log: Se a posição do banco de dados tiver expirado, aumente o período de retenção de log no banco de dados, por exemplo, para 7 dias.
Ressincronizar dados: Se dados foram perdidos, execute uma sincronização completa novamente ou configure uma tarefa de sincronização offline para sincronizar manualmente os dados ausentes.
FAQ
Para perguntas frequentes sobre sincronização de banco de dados em tempo real, consulte FAQ do Data Integration e Erros do Data Integration.
e combinando valores de Manual Input e Built-in Variable. As variáveis suportadas incluem o nome da fonte de dados de origem, o nome do banco de dados de origem e o nome da tabela de origem.
na coluna Destination Index Name e adicione campos editando a Statement Used to Create Index.