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. No Operation Center, também é possível monitorar o status da tarefa, visualizar métricas de execução, entre outras ações. Este tópico aborda os procedimentos comuns de operações e manutenção (O&M) para tarefas de sincronização em tempo real.
Pré-requisito
Uma tarefa de sincronização em tempo real foi criada e implantada. 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 origem, 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. Este tópico cobre os pré-requisitos, o foco de O&M para cada etapa, métodos de ajuste de desempenho e cenários típicos de solução de problemas para ajudar você a estabelecer uma estrutura abrangente de O&M e ajuste.
Pré-requisito
Certifique-se de atender aos seguintes pré-requisitos antes de usar uma tarefa de sincronização em tempo real de tabela única.
|
Categoria |
Requisito |
Método de verificação |
|
Permissões de source |
Garanta permissão para ler metadados da source e recuperar informações completas de colunas da tabela de source. |
Acesse a source com a conta configurada e confirme se é possível ler a estrutura da tabela e as informações das colunas. |
|
Permissões de destino |
Garanta 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. |
Confirme se o grupo de recursos está disponível e se suas especificações atendem aos requisitos da tarefa de sincronização. |
|
Conectividade de rede |
A conectividade de rede deve estar estabelecida da source, passando pelo canal, até o destino. |
Use ferramentas de teste de rede para confirmar se todos os nós estão acessíveis. |
O&M e ajuste de sincronização em tempo real de tabela única
Este tópico destina-se à O&M diária, solução de problemas e ajuste de desempenho de tarefas de sincronização em tempo real de tabela única. Uma tarefa de sincronização em tempo real de tabela única refere-se a um pipeline que sincroniza dados de uma única tabela de source, tópico, Logstore ou objeto de dados com granularidade similar para um destino em tempo real.
A sincronização em tempo real de tabela única é abordada como um tópico separado principalmente porque algumas origens, 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. Quando as capacidades da source e do canal permitem, recomendamos o uso de uma tarefa de sincronização em tempo real no nível do banco de dados, selecionando apenas uma tabela para lidar com a sincronização em tempo real de tabela única. Essa abordagem aproveita as capacidades 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, este tópico cobre apenas O&M para pipelines em tempo real de tabela única e não aborda gerenciamento em lote de várias tabelas no nível do banco de dados, sincronização em lote no nível do banco de dados 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 cobre descoberta de tabelas no nível do banco de dados, adição de tabelas em lote 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 a sincronização em tempo real no nível do banco de dados |
|
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, dados sujos e limitação no destino |
Não aplique a experiência 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 e 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 não são compatíveis com a sincronização em tempo real no nível do banco de dados. Quando o Hologres for usado como source, siga a abordagem de solução de problemas de pipeline em tempo real no nível de tabela.
Etapas da tarefa
|
Etapa |
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 desta etapa 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 no 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, dados sujos e capacidade de gravação no destino |
Os riscos em tarefas de tempo real de tabela única geralmente se enquadram em duas categorias: uma refere-se a offset e retenção de log — se a tarefa ficar parada por muito tempo, pode não ser possível retomar a partir do offset original; a outra 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
Após iniciar uma tarefa, verifique primeiro se a preparação do esquema foi concluída, observe se a inicialização completa começou e está progredindo e, 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, monitore 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 para tarefas de tempo real de tabela única 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 dados sujos.
|
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 |
|
Alterar chaves primárias ou modos de gravação |
Pode afetar resultados de Update, Delete, gravação idempotente e deduplicação |
Primeiro confirme se o destino suporta a semântica de gravação correspondente e, em seguida, avalie se os dados históricos precisam ser regravados |
|
Mudar regras de partição |
Pode fazer com que os 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 |
Primeiro confirme 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 dados sujos |
Pode permitir que a tarefa continue executando, mas descarte registros anormais |
Não recomendamos simplesmente aumentar o limiar para contornar o problema. Determine primeiro se os dados sujos afetam os resultados do negócio. |
Configuração de alertas
Para tarefas de tempo real de tabela única, recomendamos monitorar 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, monitore Binlog, WAL, log de arquivamento ou retenção de 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 novo dado surge no destino, confirme primeiro se a source realmente tem novos dados e determine se o problema é que o leitor não está consumindo dados, o pipeline está enfrentando erros de processamento ou 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 dados sujos, 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 de coleta para evitar interpretar erroneamente um problema de exibição de monitoramento como uma interrupção na 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 |
Causa possível |
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 |
Confira 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 dados sujos excedendo o limiar |
Identifique primeiro a coluna com falha e o erro no 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 grandes 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 primeiro 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.
Recomendamos seguir esta ordem para solucionar o problema:
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 serviço externo.
Analise as métricas e eventos de execução, focando em throughput, contrapressão, Checkpoint, memória JVM, GC, eventos DDL e dados sujos.
Em seguida, continue identificando a causa examinando a source, o destino, os recursos, a concorrência e a rede. Não recomendamos aumentar a concorrência ou os recursos antes de identificar o gargalo.
O tempo de espera da janela pode ser usado como indicador de primeiro nível:
|
Indicador |
Causa possível |
Próxima etapa |
|
Alto tempo de espera do leitor |
Leituras lentas na source, desequilíbrio 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 para leitor quanto para gravador |
Recursos insuficientes para a tarefa, contrapressão, Checkpoint lento, Failovers frequentes ou instabilidade de 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, investigue mais detalhadamente com base no sintoma específico:
|
Sintoma |
Causa possível |
Recomendação |
|
Latência aumentando continuamente |
Velocidade de gravação na 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 ou contrapressão notável no leitor |
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, confirmações em lote muito pequenas, conexões insuficientes ou excesso de partições |
Priorize a verificação dos recursos e limites de gravação do destino e 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 serviço 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 serviço externo, falhas no mapeamento de colunas ou erros no processamento de DDL |
Verifique os rastreamentos de pilha de exceções, dados sujos e eventos DDL antes e depois dos Failovers |
|
|
Memória insuficiente para a tarefa ou pressão excessiva de processamento em um único thread concorrente |
Aumente CU ou memória incrementalmente e monitore se as métricas de JVM, GC, Checkpoint e Failover melhoram |
Para origens 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 só pode ser consumida por um único 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 origens baseadas em logs de banco de dados, como MySQL, preste muita atenção a transações grandes, alto volume de DML, 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 para determinar 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 fica 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-se de 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 e 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 de gravação especial.
Falhas de gravação são registradas como dados sujos, mas a tarefa continua executando.
Para solucionar o problema, use primeiro um pequeno conjunto de registros de amostra para verificar os eventos de source, os mapeamentos da tarefa e os resultados no destino, e então decida se deve ajustar chaves primárias, modos de gravação ou reinicializar a tabela de destino.
Aumento de dados sujos
Quando os dados sujos aumentarem, não recomendamos elevar diretamente o limiar de dados sujos. Determine primeiro se os dados sujos causam 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 os tipos de coluna, comprimentos, precisões e restrições NOT NULL correspondem.
Confira se as 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 dados sujos apenas quando tiver confirmado que o negócio aceita o descarte desses registros anormais. Em seguida, corrija os dados de 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 a latência, Failover e Checkpoint melhoram |
|
Concorrência em tempo real |
Tanto a source quanto o destino têm paralelismo suficiente |
Primeiro confirme 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 o throughput, a latência de visibilidade dos dados e a taxa de falhas. Não recomendamos 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 origens 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 as mudanças na cpu e na latência |
Ao ajustar o intervalo de Checkpoint ou Flush, recomendamos que você faça primeiro pequenos aumentos, por exemplo, de 5 segundos para 10 segundos ou 30 segundos, e 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 de volta 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.
Perguntas frequentes
|
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 de 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 a partir 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 de mensagens históricas" 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 contrapressão |
Ajuste parâmetros ou cotas com base na limitação da source, contrapressão 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 a redução do número de partições envolvidas em um único Checkpoint e, em seguida, ajuste a confirmação em lote e os parâmetros de 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 |
Primeiro confirme se o design da tabela de destino é adequado para gravações em tempo real e, em seguida, 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 dados sujos |
Priorize o uso de registros de amostra para verificar eventos de 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, alterar modos de gravação, fazer mudanças significativas em 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, horário de negócios e dados mais recentes do destino foram registrados.
Se a operação pode causar gravações duplicadas, dados ignorados ou substituições no destino.
Se os sistemas downstream já consumiram os dados do destino.
Se existem eventos DDL não processados, dados sujos ou Failovers frequentes.
Se os alertas cobrem status da tarefa, latência de negócios, Failover, erros de gravação e dados sujos.