Após desenvolver uma tarefa no Data Studio e implantá-la no ambiente de produção, acesse o Operation Center para executar a tarefa de sincronização em tempo real, monitorar seu status e visualizar as métricas de execução.
Pré-requisito
Crie e implante uma tarefa de sincronização em tempo real. Para mais informações, consulte Configurar uma tarefa de sincronização em tempo real para uma única tabela.
No DataWorks Data Integration, uma tarefa de sincronização em tempo real de tabela única é um pipeline que sincroniza dados de uma única tabela de source, tópico, Logstore ou objeto de dados com granularidade similar para um destino. Nas operações diárias, identifique rapidamente anomalias na tarefa, ajuste parâmetros de desempenho e garanta a consistência dos dados.
Pré-requisito
Atenda aos seguintes pré-requisitos antes de executar uma tarefa de sincronização em tempo real de tabela única.
|
Categoria |
Requisito |
Método de verificação |
|
Permissões de source |
Tenha permissão para ler metadados da source e recuperar informações completas das colunas da tabela de source. |
Acesse a source com a conta configurada e confirme a leitura da estrutura da tabela e das informações das colunas. |
|
Permissões de destino |
Tenha permissão para criar tabelas ou gravar dados no destino. |
Execute um teste com a conta configurada, criando uma tabela ou gravando dados no destino. |
|
Grupo de recursos |
As especificações do grupo de recursos devem atender às demandas de computação e rede da fase de inicialização completa. |
Verifique a disponibilidade do grupo de recursos e se suas especificações atendem aos requisitos da tarefa de sincronização. |
|
Conectividade de rede |
Estabeleça conectividade de rede da source, passando pelo canal, até o destino. |
Use ferramentas de teste de rede para confirmar o acesso a todos os nós. |
O&M e ajuste de sincronização em tempo real de tabela única
Siga as orientações abaixo para O&M diário, solução de problemas e ajuste de desempenho de tarefas de sincronização em tempo real de tabela única. Esse tipo de tarefa refere-se a um pipeline que sincroniza dados em tempo real de uma única tabela de source, tópico, Logstore ou objeto de dados com granularidade similar para um destino.
A sincronização em tempo real de tabela única é tratada separadamente porque algumas sources, destinos ou capacidades de canal não são adequados para sincronização em tempo real no nível do banco de dados, ou quando há necessidade de sincronizar apenas um objeto de dados específico. Sempre que as capacidades da source e do canal permitirem, use uma tarefa de sincronização em tempo real no nível do banco de dados e selecione apenas uma tabela para lidar com a sincronização de tabela única. Essa abordagem aproveita os recursos de nível de banco de dados para migração de esquema, inicialização completa, ingestão incremental e expansão subsequente de tabelas. Independentemente do ponto de entrada, o conteúdo a seguir aborda apenas O&M para pipelines de tabela única em tempo real. Ele não cobre gerenciamento em lote de múltiplas tabelas, sincronização em lote ou sincronização em tempo real completa e incremental no nível do banco de dados.
Canais aplicáveis e limites
Comece avaliando o tipo de tarefa, as capacidades do canal e o foco da solução de problemas.
|
Item de avaliação |
Escopo aplicável |
Não aplicável / Foco principal |
|
Tipo de tarefa |
Uma única tabela, tópico, Logstore ou fluxo de dados com granularidade similar |
Não abrange descoberta de tabelas no nível do banco de dados, adição em lote de tabelas ou remoção e desimplantação de tabelas |
|
Canais típicos |
Kafka / DataHub / SLS / LogHub → Hologres / MaxCompute / Kafka / Doris / StarRocks / Lindorm / DLF / OSS |
Quando uma source de banco de dados permite selecionar uma única tabela para sincronização em tempo real no nível do banco de dados, priorize esse método |
|
Foco na solução de problemas |
Offsets, retenção de logs, chaves primárias, DDL, atraso do consumidor, formato de mensagem, análise de colunas, dirty data e limitação no destino |
Não aplique experiências de adição ou remoção de tabelas no nível do banco de dados |
O Hologres também pode servir como source para sincronização em tempo real de tabela única. Para pipelines em tempo real no nível de tabela, como Hologres → Hologres, Hologres → MaxCompute e Hologres → Doris, siga a abordagem de solução de problemas de sincronização em tempo real de tabela única. Concentre-se nas permissões da tabela de source, Binlog/captura de dados alterados (CDC), chaves primárias, mapeamento de colunas e semântica de gravação no destino.
Limite principal: A sincronização em tempo real de tabela única não é uma versão simplificada da sincronização em tempo real no nível do banco de dados. Ela é mais adequada para cenários em que permissões de source, modelos de mensagens, formatos de dados ou semânticas de gravação no destino são incompatíveis com a sincronização em tempo real no nível do banco de dados. Quando usar o Hologres como source, siga a abordagem de solução de problemas para pipelines em tempo real no nível de tabela.
Estágios da tarefa
|
Estágio |
Descrição |
Foco de O&M |
|
Preparação de esquema |
Lê colunas de source, chaves primárias, partições ou formatos de mensagem e cria ou verifica o esquema de destino. |
Permissões de metadados da source, criação de tabela de destino ou permissões de gravação, tipos de coluna, chaves primárias, partições e regras de mapeamento |
|
Inicialização completa |
Grava dados históricos existentes antes do início da tarefa no destino. A inclusão deste estágio depende da configuração da tarefa e das capacidades do canal. |
Chave de divisão, concorrência de sincronização completa, contagem de conexões de source, especificações do grupo de recursos e capacidade de gravação do destino |
|
Sincronização incremental em tempo real |
Consome continuamente Binlog, WAL, logs, mensagens ou eventos de alteração e os grava no destino. |
Offsets, latência de negócios, throughput, Checkpoint, Failover, DDL, dirty data e capacidade de gravação do destino |
Os riscos em tarefas de tabela única em tempo real geralmente se enquadram em duas categorias. A primeira refere-se a offset e retenção de logs: se a tarefa ficar parada por muito tempo, talvez não seja possível retomar a partir do offset original. A segunda diz respeito à semântica de gravação no destino: quando chaves primárias, modos de gravação, partições ou mapeamentos de colunas são inconsistentes, operações de Update, Delete ou gravações idempotentes podem não produzir os resultados esperados.
Operações comuns de O&M
Iniciar e parar
Ao iniciar uma tarefa, verifique primeiro se a preparação do esquema foi concluída. Em seguida, observe se a inicialização completa começou e está progredindo. Por fim, confirme se a sincronização incremental em tempo real está lendo e gravando dados continuamente. Para tarefas com source de mensagens, monitore também o offset do consumidor e o acúmulo de mensagens. Em tarefas baseadas em logs de banco de dados, acompanhe o Binlog, WAL ou o tempo de retenção de logs.
Antes de parar uma tarefa, confirme se o período de retenção de logs ou mensagens da source cobre a janela de inatividade. Se o tempo de inatividade exceder o período de retenção, a tarefa poderá não conseguir retomar a partir do offset original. Nesses casos, geralmente é necessário redefinir o offset, ignorar o backlog histórico ou reinicializar. Antes de realizar essas operações, avalie os riscos de gravações duplicadas e perda de dados.
Modificar configurações
As modificações comuns em tarefas de tabela única em tempo real incluem ajustes em mapeamentos de colunas, chaves primárias, modos de gravação, regras de partição, concorrência, recursos, offsets e políticas de tratamento de dirty data.
|
Tipo de alteração |
Risco |
Recomendação |
|
Modificar mapeamentos de colunas |
Pode causar colunas ausentes, falhas na conversão de tipos ou erros de gravação no destino |
Antes de enviar alterações, verifique as colunas de source, colunas de destino, tipos de coluna e valores padrão |
|
Modificar chaves primárias ou modos de gravação |
Pode afetar resultados de Update, Delete, gravação idempotente e deduplicação |
Confirme primeiro se o destino suporta a semântica de gravação correspondente e depois avalie se os dados históricos precisam ser regravados |
|
Modificar regras de partição |
Pode fazer com que dados sejam gravados em novas partições, partições incorretas ou gerar excesso de partições pequenas |
Antes de enviar alterações, verifique a granularidade da coluna de partição, a expressão de partição e os limites de partição do destino |
|
Ajustar concorrência e recursos |
Pode aumentar a pressão sobre a source, o destino ou o grupo de recursos |
Faça ajustes incrementais e, após cada ajuste, monitore latência, throughput, Checkpoint e Failover |
|
Redefinir offsets |
Pode causar consumo duplicado ou dados ignorados |
Confirme primeiro o ponto de recuperação aceitável para o negócio e registre o horário e o offset antes e depois da redefinição |
|
Ajustar políticas de tratamento de dirty data |
Pode permitir que a tarefa continue executando, mas descarte registros anômalos |
Não recomendamos simplesmente aumentar o limiar para contornar o problema. Determine primeiro se a dirty data afeta os resultados do negócio. |
Configuração de alertas
Para tarefas de tabela única em tempo real, monitore pelo menos o status da tarefa, a latência de negócios e o Failover. Dependendo das capacidades do canal e da configuração da tarefa, adicione também alertas para utilização de recursos, erros de gravação, notificações de DDL e acúmulo de mensagens.
Em tarefas com source de mensagens, monitore também o backlog do tópico de source, shard, Logstore ou grupo de consumidores. Para tarefas baseadas em logs de banco de dados, acompanhe a retenção de Binlog, WAL, log de arquivamento ou slot de replicação. Configurar apenas alertas de falha na tarefa não detecta problemas em que a tarefa ainda está em execução, mas a latência aumenta continuamente, as gravações ficam lentas ou os offsets não avançam por um longo período.
Solução de problemas
A tarefa não produz saída de dados
Quando a tarefa aparece como em execução, mas nenhum dado novo surge no destino, confirme se a source realmente possui novos dados. Em seguida, determine se o leitor não está consumindo dados, se o pipeline enfrenta erros de processamento ou se o gravador não está confirmando os dados.
Sequência de solução de problemas:
Verifique se a tabela de source, tópico, Logstore ou offset de log possui novos dados.
Confira se a tarefa está na fase de inicialização completa, sincronização incremental em tempo real ou estado de Failover.
Analise se as métricas de leitura, métricas de gravação, latência de negócios e Checkpoint estão progredindo normalmente.
Valide se a tabela de destino, partição de destino, chave primária e modo de gravação correspondem à configuração.
Investigue se existem dirty data, falhas no mapeamento de colunas ou problemas de permissão no destino.
Se as estatísticas de DML/DDL nos detalhes de execução não mostrarem dados por um curto período, mas os logs e as gravações no destino estiverem normais, verifique também se há latência na coleta de métricas ou anomalias na coleta. Isso evita interpretar erroneamente um problema de exibição de monitoramento como uma interrupção da sincronização.
Inicialização completa lenta ou com falha
Quando a inicialização completa estiver lenta, identifique primeiro se o gargalo está nas leituras da source, na rede, no grupo de recursos, nas gravações do destino ou na divisão desigual de dados.
|
Sintoma |
Possível causa |
Recomendação |
|
A inicialização completa não começou há muito tempo |
Fila de recursos, problemas de conectividade com a source ou destino, ou falha na criação da tabela de destino |
Verifique o status do grupo de recursos, a conectividade da fonte de dados e as permissões do destino |
|
Leitura completa lenta |
Chave de divisão inadequada, SQL de source não usando índices, alta carga na source ou conexões insuficientes |
Selecione uma chave de divisão com distribuição mais uniforme e índices, ajuste a concorrência moderadamente e limite ou escalone a carga quando a source estiver sob pressão |
|
Gravação completa lenta |
Limitação no destino, excesso de partições ou alta sobrecarga de confirmação em lote |
Verifique a capacidade de gravação do destino, a contagem de partições, os parâmetros de gravação em lote e as especificações do grupo de recursos |
|
Falha na inicialização completa |
Tipos de coluna incompatíveis, conflitos de chave primária, restrições do destino ou dirty data excedendo o limiar |
Identifique primeiro a coluna com falha e o erro do destino, depois ajuste o mapeamento, limpe os dados ou modifique o esquema do destino |
Durante a fase de inicialização completa, não confie apenas no throughput médio. Alguns shards grandes, tabelas largas, colunas extensas ou partições quentes podem determinar o tempo total de conclusão.
Aumento da latência em tempo real
Quando a latência em tempo real aumentar, verifique se ela está diminuindo continuamente. Se a tarefa acabou de concluir a inicialização completa, o pipeline em tempo real pode estar reproduzindo dados incrementais acumulados durante a fase de sincronização completa. Caso a latência continue crescendo, identifique se o gargalo está no leitor, no gravador, nos recursos, na rede ou em um sistema externo.
Solucione problemas na seguinte ordem:
Verifique o tempo de espera da janela nos detalhes de execução da tarefa para determinar se o gargalo está principalmente no leitor ou no gravador.
Examine os logs da tarefa durante o período de alta latência e pesquise palavras-chave como
Error,ExceptioneOutOfMemory.Consulte os registros de Failover para determinar se ocorreram Failovers frequentes, erros OOM ou exceções de service externo.
Analise as métricas e eventos de execução, focando em throughput, backpressure, Checkpoint, memória JVM, GC, eventos DDL e dirty data.
Em seguida, continue identificando a causa examinando a source, o destino, os recursos, a concorrência e a rede. Não aumente a concorrência ou os recursos antes de identificar o gargalo.
Use o tempo de espera da janela como indicador de primeiro nível:
|
Indicador |
Possível causa |
Próxima etapa |
|
Alto tempo de espera do leitor |
Leituras lentas na source, desvio de partição ou shard, limitação na source, aumento repentino no volume de alterações ou backlog de logs |
Priorize a verificação do monitoramento da source, distribuição de partições ou shards, backlog de Binlog/WAL/mensagens e volume de dados do Reader |
|
Alto tempo de espera do gravador |
Gravações lentas no destino, limitação no destino, excesso de partições dinâmicas, confirmações em lote lentas ou largura de banda de rede insuficiente |
Priorize a verificação dos recursos do destino, QPS de gravação, logs do Sink, sobrecarga de confirmação em lote e partições dinâmicas |
|
Tempos de espera altos tanto no leitor quanto no gravador |
Recursos insuficientes para a tarefa, backpressure, Checkpoint lento, Failovers frequentes ou instabilidade em sistema externo |
Priorize a verificação de Failover, JVM/GC, Checkpoint, especificações do grupo de recursos e concorrência da tarefa |
Após identificar a localização do gargalo, prossiga com a solução de problemas com base no sintoma específico:
|
Sintoma |
Possível causa |
Recomendação |
|
Latência aumentando continuamente |
Velocidade de gravação da source excede a velocidade de consumo, largura de banda de rede insuficiente ou gravações lentas no destino |
Verifique separadamente a taxa de produção da source, taxa de leitura, taxa de gravação e limitação no destino |
|
Espera notável do leitor ou backpressure |
Transações grandes, backlog de logs, hotspots de partição de mensagens ou limitação na source |
Verifique picos de gravação na source, crescimento de logs e distribuição de partições ou shards |
|
Alto tempo de espera do gravador |
Gravações lentas no destino, lotes de confirmação muito pequenos, conexões insuficientes ou excesso de partições |
Priorize a verificação dos recursos e limites de gravação do destino e depois ajuste os parâmetros de batch, flush, commit ou pool de conexões |
|
Checkpoint ficando lento ou falhando |
Confirmações lentas do gravador, tamanho excessivo de estado, instabilidade de service externo ou recursos insuficientes |
Use duração do Checkpoint, failedCount, tamanho do State e logs para identificar o problema |
|
Failovers frequentes |
Memória insuficiente, exceções de service externo, falhas no mapeamento de colunas ou erros no processamento de DDL |
Verifique os rastreamentos de pilha de exceções, dirty data e eventos DDL antes e depois dos Failovers |
|
|
Memória insuficiente para a tarefa ou pressão excessiva de processamento em uma única thread concorrente |
Aumente CU ou memória incrementalmente e monitore se as métricas de JVM, GC, Checkpoint e Failover melhoram |
Para sources de mensagens como Kafka, DataHub e LogHub, preste muita atenção ao número de partições ou shards. Normalmente, uma única partição ou shard pode ser consumida por apenas uma thread concorrente. Quando os dados estão concentrados em poucas partições, simplesmente aumentar a concorrência total pode não ajudar. Verifique os bytes acumulados de diferentes threads do Reader combinados com o monitoramento da source para determinar se existem hotspots de partição ou shard.
Para sources baseadas em logs de banco de dados, como MySQL, preste muita atenção a transações grandes, DML de alto volume, DDL frequente e taxa de crescimento do Binlog. Se a velocidade de sincronização não for alta, mas a latência continuar aumentando, verifique os logs de auditoria do banco de dados de source, cpu, I/O, conexões e crescimento do Binlog. Determine assim se a source está sob pressão ou se bancos de dados e tabelas não sincronizados estão gerando um grande volume de entradas de Binlog.
Ao gravar no MaxCompute, se o log mostrar
uploader map size has reached uploaderMapMaximumSize, isso geralmente indica que o número de valores de partição dinâmica dentro de um único intervalo de Flush é muito grande. Priorize o ajuste da granularidade da partição ou das colunas de partição dinâmica para evitar o uso de colunas de alta cardinalidade, como timestamps de nível de segundo, IDs de pedido ou IDs de usuário como valores de partição. Em seguida, avalie se é necessário aumentar a concorrência ou os recursos.
Erros no processamento de eventos DDL
Quando uma tarefa falha, a latência aumenta ou o esquema do destino torna-se inconsistente após um evento DDL, verifique primeiro se o canal atual suporta o tipo de DDL e qual é a política de tratamento de DDL da tarefa.
Foco da solução de problemas:
Identifique quais operações DDL ocorreram na source, como adicionar colunas, remover colunas, alterar tipos, renomear, criar tabelas, excluir tabelas ou modificar índices.
Verifique se o destino suporta o mesmo DDL ou uma alteração de esquema equivalente.
Confira se a política da tarefa está definida para processar normalmente, ignorar, alertar ou parar.
Valide se a conta de destino tem permissões ALTER TABLE.
Assegure que mapeamentos de colunas, chaves primárias e partições permaneçam consistentes antes e depois do DDL.
Não recomendamos ignorar diretamente operações DDL não suportadas. Ignorar um DDL pode permitir que a tarefa continue executando, mas gravações DML subsequentes podem continuar falhando devido a incompatibilidades de colunas, alterações de chave primária ou inconsistências no esquema do destino.
Update ou Delete não produzindo os resultados esperados
Quando os dados no destino não corresponderem às expectativas após operações de Update ou Delete, verifique primeiro se o destino possui uma chave primária ou chave única capaz de localizar registros. Confirme também se os mapeamentos de chave primária entre source e destino são consistentes.
As causas comuns incluem:
O destino não possui chave primária ou chave única, impossibilitando a atualização ou exclusão por registro.
A chave primária da source e a chave primária do destino são inconsistentes.
Colunas de chave primária foram transformadas, renomeadas ou gravadas como nulas.
O modo de gravação do destino não suporta atualizações ou exclusões.
A tarefa está configurada para ignorar operações Delete ou usa uma política especial de gravação.
Falhas de gravação são registradas como dirty data, mas a tarefa continua executando.
Para solucionar o problema, use primeiro um pequeno conjunto de registros de amostra para verificar os eventos da source, os mapeamentos da tarefa e os resultados no destino. Em seguida, decida se deve ajustar chaves primárias, modos de gravação ou reinicializar a tabela de destino.
Aumento de dirty data
Quando a dirty data aumentar, não aumente diretamente o limiar de dirty data. Determine primeiro se a dirty data causa dados ausentes, colunas nulas, truncamento de colunas, conflitos de chave primária ou anomalias de partição no destino.
Foco da solução de problemas:
Verifique se tipos de coluna, comprimentos, precisões e restrições NOT NULL correspondem.
Confira se chaves primárias, chaves únicas ou colunas de partição do destino atendem aos requisitos.
Investigue se a source introduziu strings excessivamente longas, codificações inválidas, JSON especial, timestamps não analisáveis ou tipos de dados não suportados.
Analise se o destino apresenta limitação, falhas de gravação ou filtragem no lado do servidor.
Considere aumentar temporariamente o limiar de dirty data apenas quando tiver confirmado que o negócio aceita descartar esses registros anômalos. Em seguida, corrija os dados da source ou o esquema do destino.
Recomendações de ajuste
|
Item de ajuste |
Cenário aplicável |
Recomendação |
|
Especificações de recursos / CU |
Alta utilização de cpu, memória, rede ou grupo de recursos |
Aumente os recursos incrementalmente e monitore se latência, Failover e Checkpoint melhoram |
|
Concorrência em tempo real |
Tanto a source quanto o destino possuem paralelismo suficiente |
Confirme primeiro que não existe hotspot de partição única, shard único ou tabela única antes de aumentar a concorrência |
|
Concorrência de sincronização completa e chave de divisão |
Inicialização completa lenta |
Selecione uma coluna de chave de divisão com distribuição uniforme, índices e tipo suportado |
|
Intervalo de Checkpoint / Flush |
Confirmações frequentes do gravador ou alta sobrecarga de confirmação |
Faça pequenos ajustes e monitore throughput, latência de visibilidade dos dados e taxa de falhas. Evite fazer grandes ajustes de uma só vez. |
|
Parâmetros de gravação em lote |
Alto tempo de espera do gravador |
Ajuste os parâmetros de batch, flush, commit e pool de conexões com base nos limites do destino |
|
Granularidade de partição |
Excesso de partições no destino ou alta sobrecarga de confirmação |
Evite usar colunas de alta cardinalidade, como timestamps de nível de segundo, IDs de pedido ou IDs de usuário como valores de partição dinâmica |
|
Partições de source de mensagens |
Alta latência para Kafka, DataHub, LogHub ou sources similares |
Monitore hotspots de partição e limites de concorrência do consumidor. Ajuste o design de partição da source, se necessário. |
|
Lógica do Transformer |
Análise complexa de JSON, processamento de colunas ou numerosas regras de filtro |
Reduza transformações complexas desnecessárias ou aumente os recursos e monitore mudanças na cpu e na latência |
Ao ajustar o intervalo de Checkpoint ou Flush, faça primeiro pequenos aumentos, por exemplo, de 5 segundos para 10 segundos ou 30 segundos. Depois, monitore o throughput de gravação, a duração do Checkpoint, a latência de ponta a ponta e a carga do destino por 10 a 30 minutos. Se a latência diminuir, mas a visibilidade dos dados não atender aos requisitos do negócio, reduza o intervalo para um valor menor.
Após o ajuste, observe por pelo menos uma janela estável. O throughput de curto prazo imediatamente após a reinicialização de uma tarefa pode não representar o desempenho de longo prazo, especialmente quando há dados acumulados, limitação no destino ou flutuações no Checkpoint.
FAQ
|
Problema |
Foco da solução de problemas |
Recomendação |
|
A tarefa está em execução, mas não há dados no destino |
Se a source tem novos dados, se os offsets estão avançando, se os dados estão sendo gravados no destino e se a coleta de métricas está normal |
Verifique simultaneamente os dados da source, logs da tarefa, métricas de DML e resultados no destino. Não confie em uma única página para diagnóstico. |
|
Não é possível retomar do offset original após parar |
Se Binlog, WAL, logs ou mensagens excederam o período de retenção |
Antes de redefinir offsets ou reinicializar, avalie os riscos de consumo duplicado, dados ignorados e impacto downstream |
|
Kafka ou outra source de mensagens mostra latência muito alta |
Se os timestamps das mensagens são históricos, se o offset do consumidor está atrasado e se existem hotspots de partição |
Distinga entre "exibição de alta latência causada por timestamps históricos de mensagens" e capacidade de consumo realmente insuficiente |
|
Alta latência de gravação ou consumo no DataHub |
Se a limitação foi acionada, se batchSize é muito pequeno e se existe backpressure |
Ajuste parâmetros ou cotas com base na limitação da source, backpressure da tarefa e throughput do gravador |
|
Gravações no MaxCompute ou outros destinos ficando lentas |
Contagem de partições, Tunnel Session e sobrecarga de confirmação do Checkpoint |
Priorize reduzir o número de partições envolvidas em um único Checkpoint e depois ajuste os parâmetros de confirmação em lote e recursos |
|
Alta latência de gravação no Hologres |
Chave primária da tabela de destino, Segment Key, tipo de tabela, modo de gravação e carga do Hologres |
Confirme primeiro se o design da tabela de destino é adequado para gravações em tempo real e depois ajuste os recursos da tarefa e os parâmetros de gravação em lote |
|
Update ou Delete no destino não surtindo efeito |
Chave primária do destino, modo de gravação, mapeamento de colunas e logs de dirty data |
Priorize o uso de registros de amostra para verificar eventos da source, chaves primárias do destino e resultados reais de gravação |
|
Falha na tarefa após DDL |
Tipo de DDL, suporte do destino, política de DDL e permissões do destino |
Verifique eventos DDL e logs de falha para determinar se o esquema da tabela de destino precisa ser ajustado manualmente antes de retomar |
Lista de verificação de operações de alto risco
Antes de redefinir offsets, reiniciar uma tarefa, modificar chaves primárias, modificar modos de gravação, fazer alterações significativas de parâmetros, reexecutar a inicialização completa ou limpar tabelas de destino, confirme o seguinte:
Se o período de retenção de logs ou mensagens da source é suficiente.
Se o offset atual, o horário de negócios e os dados mais recentes do destino foram registrados.
Se a operação pode causar gravações duplicadas, dados ignorados ou substituições no destino.
Se sistemas downstream já consumiram os dados do destino.
Se existem eventos DDL não processados, dirty data ou Failovers frequentes.
Se os alertas cobrem status da tarefa, latência de negócios, Failover, erros de gravação e dirty data.