Nesta página, você encontra as práticas recomendadas para usar o Datastream. Isso inclui práticas recomendadas gerais ao usar o Datastream.
Mudar o banco de dados de origem de um fluxo
Em alguns casos, talvez seja necessário mudar o banco de dados de origem de um stream. Por exemplo, talvez seja necessário modificar o stream para replicar de uma réplica em vez da instância de banco de dados principal.
- Crie um perfil de conexão para a instância de réplica.
- Crie um stream usando o perfil de conexão da réplica que você criou e o perfil de conexão existente do destino.
- Inicie o stream com o preenchimento histórico desativado. Quando o stream é iniciado, ele traz apenas os dados dos registros binários.
- Opcional. Depois que o stream estiver em execução, modifique-o para ativar o preenchimento automático.
- Pause o fluxo que está lendo da instância principal.
- Opcional. Exclua o fluxo que estava transmitindo dados da instância principal.
- Opcional. Exclua o perfil de conexão da instância principal.
Alertar e monitorar no Datastream
O painel do Datastream contém muitas informações. Essas informações podem ser úteis para fins de depuração. Mais informações podem ser encontradas nos registros, que estão disponíveis no Cloud Logging.
Alertas do Datastream
Não há um alerta padrão configurado para o Datastream. Por exemplo, é possível criar uma política de alertas para a métrica Atualização de dados clicando no link Criar política de alertas na guia Visão geral. Para as métricas restantes, siga estas etapas:
No console Google Cloud , acesse a página notifications Alertas:
Clique em Criar política.
Clique no menu suspenso Selecionar uma métrica.
No campo de filtro, digite
Datastream.Opcional: talvez seja necessário desativar o filtro Ativo para ver todas as métricas disponíveis.
Procure a métrica que você quer monitorar em Stream do Datastream.
Clique em Aplicar.
Opcional: insira os detalhes necessários nas seções Adicionar filtros e Transformar dados. Clique em Next.
Insira as informações necessárias na seção Configurar acionador de alerta. Clique em Próximo.
Configure as notificações na seção Configurar notificações e finalizar alerta.
Analise o alerta e clique em Criar política quando estiver tudo pronto.
Para informações detalhadas sobre como concluir cada uma dessas etapas, consulte Criar uma política de alertas.
Recomendamos criar alertas para as seguintes métricas do Datastream:
- Atualização de dados
- Transmitir contagem de eventos sem suporte
- Latências totais do stream
Um alerta em qualquer uma dessas métricas pode indicar um problema com o stream ou com o banco de dados de origem.
Entender a latência
O Datastream fornece as seguintes métricas para ajudar você a entender a latência de replicação:
- Atualização de dados: a diferença entre o momento em que os dados foram confirmados na origem e o momento em que foram lidos pelo Datastream. Se essa métrica estiver alta, isso indica que o Datastream está lendo os dados mais lentamente do que eles estão sendo gerados na origem. Isso indica que pode haver um problema com a fonte ou com a conexão de rede dela.
- Latência do sistema: o tempo que leva para o Datastream processar um evento, desde o momento em que ele é lido da origem até ser gravado no destino.
- Latência total: o atraso de replicação de ponta a ponta, representando o tempo total desde o momento em que os dados são confirmados na origem até serem gravados no destino.
Se a atualização de dados for alta, as causas comuns incluem:
- Sobrecarga da origem:o banco de dados de origem está gerando registros (arquivos binlog, redo log e WAL) mais rápido do que o Datastream consegue ler.
- Ação para MySQL/Oracle:aumente o parâmetro
maxConcurrentCdcTaskspara ler mais registros em paralelo. - Ação para PostgreSQL:isole as tabelas de alta rotatividade em fluxos dedicados.
- Ação para o SQL Server:aumente o parâmetro
maxConcurrentCdcTaskspara ler mais tabelas de mudança em paralelo.
- Ação para MySQL/Oracle:aumente o parâmetro
- Restrição de recursos de origem:o próprio servidor de banco de dados de origem tem problemas, como alto uso da CPU, pouca memória ou gargalos de E/S de disco.
- Ação:verifique se a instância de origem está íntegra. Verifique o uso de CPU/RAM. Para o PostgreSQL, considere aumentar o valor do parâmetro
logical_decoding_work_mem. Para o Oracle, verifique se uma área global do sistema (SGA, na sigla em inglês) suficiente está alocada.
- Ação:verifique se a instância de origem está íntegra. Verifique o uso de CPU/RAM. Para o PostgreSQL, considere aumentar o valor do parâmetro
- Problemas de capacidade da rede:tempo de ping alto ou largura de banda saturada entre sua origem e o Google Cloud.
- Ação:monitore a largura de banda e a latência da VPN ou do Cloud Interconnect.
- Transação única grande:um job em lote grande, como um
UPDATEem milhões de linhas, pode causar um pico temporário na latência.- Ação:isso é esperado. Aguarde o Datastream processar o evento grande. Considere dividir jobs em lote grandes em partes menores no futuro.
Se a latência do sistema for alta, isso pode indicar um problema no Datastream ou no destino.
- Ação:verifique o Cloud Logging para erros persistentes no nível da linha (por
exemplo,
invalid input for type json. Se o stream estiver em um loop de novas tentativas devido a erros de tipo de dados ou restrição, talvez seja necessário corrigir os dados manualmente na origem. Se não houver erros óbvios, entre em contato com o suporte do Google para receber ajuda.
Quantas tabelas um único fluxo pode processar?
Recomendamos que um único fluxo inclua até 10.000 tabelas. Não há limite para o tamanho das tabelas. Se você precisar criar um stream com mais tabelas, ele poderá entrar em um estado de erro. Para evitar isso, divida a fonte em vários fluxos.