Configurações de ajuste de processamento de alterações
As seguintes configurações determinam como o AWS DMS manipula alterações de tabelas de destino durante a captura de dados de alteração (CDC). Várias dessas configurações dependem do valor do parâmetro de metadados de destino BatchApplyEnabled
. Para obter mais informações sobre o parâmetro BatchApplyEnabled
, consulte Configurações de tarefa de metadados de destino. Para obter informações sobre como utilizar um arquivo de configuração de tarefas para definir as configurações de tarefas, consulte Exemplo de configurações de tarefas.
Veja a seguir as configurações de ajuste do processamento de alterações:
As seguintes configurações aplicam-se somente quando o parâmetro de metadados de destino BatchApplyEnabled
está definido como true
.
-
BatchApplyPreserveTransaction
: se estiver definido comotrue
, a integridade transacional será preservada e será garantido que um lote contenha todas as alterações dentro de uma transação da origem. O valor padrão étrue
. Essa configuração se aplica apenas a endpoints de destino da Oracle.Se definido como
false
, pode haver lapsos temporários na integridade para melhorar o desempenho. Não há garantia de que todas as alterações em uma transação da origem sejam aplicadas ao destino em um único lote.Por padrão, o AWS DMS processa alterações em um modo transacional, que preserva a integridade transacional. Se houver condições para lapsos temporários em integridade transacional, você poderá usar a opção batch optimized apply. Essa opção agrupa transações de maneira eficaz e as aplica em lotes para fins de eficiência. A utilização da opção de aplicação otimizada em lote quase sempre viola as restrições de integridade referencial. Portanto, é recomendável desativar essas restrições durante o processo de migração e ativá-las novamente como parte do processo de substituição.
-
BatchApplyTimeoutMin
: define a quantidade de tempo mínima, em segundos, que o AWS DMS aguarda entre cada aplicação de alterações em lote. O valor padrão é 1. -
BatchApplyTimeoutMax
: define a quantidade de tempo máxima, em segundos, que o AWS DMS aguarda entre cada aplicação de alterações em lote antes que o tempo limite seja esgotado. O valor padrão é 30. -
BatchApplyMemoryLimit
: define a quantidade máxima de memória em MB a ser utilizada para pré-processamento no Modo de aplicação otimizada para lotes. O valor padrão é 500. -
BatchSplitSize
: define o número máximo de alterações aplicadas em um único lote. O valor padrão é 0, o que significa que não há limite aplicado.
As seguintes configurações aplicam-se somente quando o parâmetro de metadados de destino BatchApplyEnabled
está definido como false
.
-
MinTransactionSize
: define o número mínimo de alterações a serem incluídas em cada transação. O valor padrão é 1000. -
CommitTimeout
: define o tempo máximo, em segundos, para o AWS DMS coletar transações em lotes antes de declarar um tempo limite esgotado. O valor padrão é 1.
Para a replicação bidirecional, aplicam-se as seguintes configurações somente quando o parâmetro de metadados de destino BatchApplyEnabled
está definido como false
.
-
LoopbackPreventionSettings
: essas configurações fornecem prevenção de loopback para cada tarefa de replicação contínua em qualquer par de tarefas envolvidas na replicação bidirecional. A Prevenção de loopback impede que alterações idênticas sejam aplicadas nas duas direções da replicação bidirecional, o que pode corromper os dados. Para obter mais informações sobre a replicação bidirecional, consulte Executar replicação bidirecional.
O AWS DMS tenta manter os dados de transação na memória até que a transação esteja totalmente confirmada na origem, no destino, ou em ambos. Contudo, as transações maiores que a memória alocada ou não confirmadas dentro do limite de tempo especificado são gravadas no disco.
As seguintes configurações aplicam-se ao ajuste de processamento de alterações, independentemente do modo de processamento de alterações.
-
MemoryLimitTotal
: define o tamanho máximo em MB que todas as transações podem ocupar na memória antes de serem gravadas no disco. O valor padrão é 1024. -
MemoryKeepTime
: define o tempo máximo em segundos que cada transação pode permanecer na memória antes de ser gravada no disco. A duração é calculada a partir do momento em que o AWS DMS inicia a captura da transação. O valor padrão é 60. -
StatementCacheSize
: define o número máximo de declarações preparadas a serem armazenadas no servidor para execução posterior ao aplicar alterações ao destino. O valor padrão é 50. O valor máximo é 200.
Veja a seguir um exemplo de como as configurações de tarefas que tratam o ajuste de processamento de alterações aparecem em um arquivo JSON de configuração de tarefas:
"ChangeProcessingTuning": { "BatchApplyPreserveTransaction": true, "BatchApplyTimeoutMin": 1, "BatchApplyTimeoutMax": 30, "BatchApplyMemoryLimit": 500, "BatchSplitSize": 0, "MinTransactionSize": 1000, "CommitTimeout": 1, "MemoryLimitTotal": 1024, "MemoryKeepTime": 60, "StatementCacheSize": 50 }
Para controlar a frequência de gravações em um destino do Amazon S3 durante uma tarefa de replicação de dados, é possível configurar os atributos de conexão adicionais cdcMaxBatchInterval
e cdcMinFileSize
. Isso pode resultar em melhor desempenho ao analisar os dados sem operações adicionais de sobrecarga. Para ter mais informações, consulte Configurações de endpoint ao utilizar o Amazon S3 como destino para o AWS DMS.