O ApsaraDB RDS for MySQL utiliza replicação lógica, na qual eventos de binlog são enviados da instância primária para uma réplica após a confirmação de uma transação. Transações grandes podem causar latência de replicação significativa, pois a réplica as aplica somente após a instância primária confirmar o commit. O recurso de aplicação em tempo real para transações grandes permite que a réplica inicie a execução de uma transação grande enquanto ela ainda está em andamento na instância primária, reduzindo a latência a quase zero e garantindo alta disponibilidade.
Como funciona

Latência de replicação para transações grandes (diagrama à esquerda): No MySQL, a réplica começa a aplicar uma transação grande somente após a confirmação na instância primária. O tempo de execução da transação na réplica torna-se a latência de replicação, durante a qual outras transações confirmadas ficam bloqueadas, atrasando as atualizações de dados.
Otimização de aplicação em tempo real para transações grandes (diagrama à direita): A transação grande é executada na instância primária e na réplica simultaneamente. Quando a transação é confirmada ou revertida na instância primária, a mesma operação ocorre na réplica.
Pré-requisitos
Para usar o recurso de aplicação em tempo real para transações grandes, sua instância deve atender ao seguinte requisito:
Versão do mecanismo de banco de dados: MySQL 8.0 com versão secundária do mecanismo 20260228 ou posterior. Se sua instância não atender a esse requisito, é possível atualizar a versão secundária do mecanismo ou atualizar a versão do mecanismo de banco de dados.
Procedimento
Acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância RDS está localizada. Em seguida, localize a instância RDS e clique no ID da instância.
No painel de navegação à esquerda, clique em Parameters.
-
Na aba Editable Parameters, pesquise e configure os seguintes parâmetros:
-
Ative o recurso de aplicação em tempo real para transações grandes:
Defina
loose_binlog_realtime_apply_long_trx_enabledcomoON.Defina
loose_binlog_realtime_transmit_source_enabledcomoON.Defina
loose_binlog_realtime_transmit_replica_enabledcomoON.
-
Outros parâmetros necessários:
Parâmetro
Descrição
Valor recomendado
loose_binlog_realtime_replica_long_transaction_limit_sizeLimiar de tamanho para acionar a replicação em tempo real. Quando os eventos de binlog gerados por uma transação excedem esse valor, o recurso é ativado automaticamente.
64 MB
loose_binlog_realtime_enable_log_messagEspecifica se os logs de replicação em tempo real devem ser gravados no log de erros.
ONloose_binlog_realtime_apply_workers
Número de threads Brr Worker para replicação em tempo real.
8
-
Clique em OK e, em seguida, clique em Submit Parameters. Na caixa de diálogo exibida, escolha quando aplicar as alterações. As alterações de parâmetros entram em vigor imediatamente, sem exigir a reinicialização da instância.
Resultados da otimização
O exemplo a seguir demonstra o efeito desse recurso em uma transação de importação de dados com 5 milhões de linhas:
Antes da otimização: A transação é executada primeiro na instância primária. Após a confirmação, ela é aplicada na réplica. A latência de replicação equivale ao tempo de execução da transação.
Após a otimização: A transação é executada na instância primária e na réplica simultaneamente, eliminando a latência de replicação.
