Práticas recomendadas gerais ao usar o Datastream

Para manter a replicação confiável e minimizar o tempo de inatividade no Datastream, aplique as práticas recomendadas operacionais nos streams e bancos de dados de origem. Essas práticas ajudam a mudar o banco de dados de origem de um stream, configurar alertas de métricas, solucionar problemas de latência e planejar limites de tabelas por stream.

Mudar o banco de dados de origem de um stream

Em alguns casos, talvez seja necessário mudar o banco de dados de origem de um stream. Por exemplo, você pode precisar modificar o stream para replicar de uma réplica em vez da instância do banco de dados principal.

  1. Crie um perfil de conexão para a instância de réplica.
  2. Crie um stream usando o perfil de conexão da réplica que você criou e o perfil de conexão atual do destino.
  3. Inicie o stream com o preenchimento histórico desativado. Quando o stream é iniciado, ele traz apenas os dados dos registros binários.
  4. Opcional. Depois que o stream estiver em execução, modifique-o para ativar o preenchimento automático.
  5. Pause o stream que está lendo da instância principal.
  6. Opcional. Exclua o stream que estava transmitindo dados da instância principal.
  7. 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, você pode 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:

  1. No Google Cloud console do, acesse a página  Alertas:

    Acesse Alertas

  2. Clique em Criar política.

  3. Clique no menu suspenso Selecionar uma métrica.

  4. No campo de filtro, digite Datastream.

  5. Opcional: talvez seja necessário desativar o filtro Ativo para conferir todas as métricas disponíveis.

  6. Pesquise a métrica que você quer monitorar em Stream do Datastream.

  7. Clique em Aplicar.

  8. Opcional: insira os detalhes necessários nas seções Adicionar filtros e Transformar dados. Clique em Próximo.

  9. Insira as informações necessárias na seção Configurar acionador de alerta. Clique em Próximo.

  10. Configure suas notificações na seção Configurar notificações e finalizar alerta.

  11. 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
  • Contagem de eventos não compatíveis com o stream
  • 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 for alta, isso indica que o Datastream está lendo dados mais lentamente do que eles estão sendo gerados na origem. Isso indica que pode haver um problema com a origem ou com a conexão de rede com ela.
  • Latência do sistema: o tempo que o Datastream leva para processar um evento, desde o momento em que ele é lido na origem até ser gravado no destino.
  • Latência total: o atraso de replicação de ponta a ponta, representando o tempo total desde 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 de origem:o banco de dados de origem está gerando registros (arquivos binlog, arquivos de registro de refazer, arquivos WAL) mais rápido do que o Datastream pode lê-los.
    • Ação para MySQL/Oracle: Aumente o parâmetro maxConcurrentCdcTasks para ler mais registros em paralelo.
    • Ação para PostgreSQL:isole tabelas de alta rotatividade em streams dedicados.
    • Ação para SQL Server:aumente o parâmetro maxConcurrentCdcTasks para ler mais tabelas de alterações em paralelo.
  • Falta de recursos de origem:o próprio servidor do banco de dados de origem apresenta 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 a área global do sistema (SGA) está alocada.
  • Problemas de capacidade de rede: tempo de ping alto ou largura de banda saturada entre a 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 UPDATE em 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 poderá 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 repetição devido a erros de tipo de dados ou de restrição, isso poderá exigir a correção manual dos dados na origem. Se não houver erros óbvios, entre em contato com o Suporte do Google para receber ajuda.

Quantas tabelas um único stream pode processar?

Recomendamos que um único stream 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, considere dividir a origem em vários streams.