Controles de simultaneidade de stream

Nesta página, você encontra uma visão geral dos controles de simultaneidade de fluxo, como o número máximo de tarefas simultâneas de captura de dados alterados (CDC) e de preenchimento. É possível controlar o desempenho do stream aumentando ou diminuindo os valores desses parâmetros.

Visão geral dos controles de simultaneidade

Usando os controles de simultaneidade, é possível fazer um backfill e CDC mais rápidos ou equilibrar a carga no banco de dados de origem. Se você precisar de taxas de transferência mais altas e puder arcar com uma carga maior no banco de dados, aumente a simultaneidade das tarefas de CDC e backfill. Por outro lado, se o banco de dados estiver com uma carga alta e você quiser protegê-lo contra sobrecarga, reduza os valores desses parâmetros.

Número máximo de tarefas de CDC

O parâmetro maxConcurrentCdcTasks permite controlar o número de tarefas de CDC que um fluxo executa em paralelo. Para aumentar a capacidade de processamento do CDC, aumente o valor desse parâmetro e permita que o Datastream processe mais arquivos de registro do CDC ao mesmo tempo.

As principais características do parâmetro incluem:

  • O valor padrão é 5. É possível definir esse parâmetro com qualquer valor entre 1 e 50.
  • O parâmetro é aplicável apenas a fontes Oracle e MySQL.
  • O parâmetro só tem impacto se houver mais arquivos de registros de banco de dados disponíveis para leitura do que tarefas de CDC. As configurações de arquivos de registro são controladas pelos parâmetros de configuração do banco de dados de origem: o tamanho máximo do arquivo de registro e o intervalo máximo de rotação do registro. Para mais informações sobre esses parâmetros, consulte a documentação do Oracle e do MySQL.
  • Se você diminuir o número de tarefas simultâneas de CDC, o Datastream poderá ficar atrasado em relação aos registros do banco de dados, o que pode levar à perda de posição do registro e à falha do stream.

Número máximo de tarefas de preenchimento

O parâmetro maxConcurrentBackfillTasks permite controlar o número de tarefas de preenchimento que um fluxo pode executar em paralelo. É possível aumentar ou diminuir esse valor para controlar a capacidade de processamento do backfill.

As principais características do parâmetro incluem:

  • O valor padrão é 15. É possível definir esse parâmetro com qualquer valor entre 1 e 50.
  • Há um alto risco associado ao aumento da simultaneidade do backfill, porque as tarefas de backfill têm um impacto significativo na performance do banco de dados. Cada tarefa de backfill executa uma consulta SELECT sem filtro em uma tabela. Para tabelas grandes, essas consultas retornam um grande número de linhas.
  • Se você diminuir a simultaneidade do backfill, isso não terá um impacto negativo no banco de dados de origem, exceto que o backfill vai levar mais tempo para ser concluído.

Mudar os valores dos controles de simultaneidade

É possível mudar os valores dos parâmetros de controle de simultaneidade usando a API Datastream.

A seguir