Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Otimize a latência de replicação para transações grandes

Última atualização: Sep 24, 2026

O ApsaraDB RDS for MySQL utiliza replicação lógica. Depois que a instância primária executa uma transação, ela envia os eventos de binlog para uma réplica, que os aplica para garantir a consistência dos dados. Nessa arquitetura, no entanto, transações grandes e de longa duração podem causar latência de replicação significativa na réplica. Para resolver esse problema, o ApsaraDB RDS for MySQL introduz um recurso de aplicação em tempo real para transações grandes. Esse recurso permite que a réplica comece a executar uma transação grande enquanto a instância primária ainda a processa. Ao executar a transação em ambas as instâncias simultaneamente, esse recurso elimina quase totalmente a latência de replicação resultante e garante a alta disponibilidade da sua instância.

Como funciona

image

Latência de replicação para transações grandes (diagrama à esquerda): No MySQL, a réplica só começa a aplicar uma transação grande após o commit na instância primária. Isso significa que o tempo de execução da transação na réplica se torna a latência de replicação. Durante esse período, a réplica não pode aplicar outras transações confirmadas na instância primária, e isso atrasa as atualizações de dados.

Otimização de aplicação em tempo real para transações grandes (diagrama à direita): A otimização principal executa a transação grande simultaneamente na réplica e na instância primária. Quando a transação grande recebe commit na instância primária, ela também recebe commit na réplica. Quando a transação grande sofre rollback na instância primária, ela também sofre rollback 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:

Procedimento

  1. Acesse a página Instances. Na barra de navegação superior, selecione a região da instância RDS. Em seguida, localize a instância RDS e clique em seu ID.

  2. No painel de navegação à esquerda, clique em Parameters.

  3. Na aba Editable Parameters, pesquise e configure os seguintes parâmetros:

    1. Ative o recurso de aplicação em tempo real para transações grandes:

      1. Defina loose_binlog_realtime_apply_long_trx_enabled como ON.

      2. Defina loose_binlog_realtime_transmit_source_enabled como ON.

      3. Defina loose_binlog_realtime_transmit_replica_enabled como ON.

    2. Outros parâmetros obrigatórios:

      Parâmetro

      Descrição

      Valor recomendado

      loose_binlog_realtime_replica_long_transaction_limit_size

      Especifica o limiar de tamanho para uma transação acionar a replicação em tempo real. Quando os eventos de binlog gerados por uma transação excedem esse valor, o sistema ativa esse recurso automaticamente.

      64 MB

      loose_binlog_realtime_enable_log_messag

      Especifica se o sistema deve gravar os logs de replicação em tempo real no log de erros. Recomendamos ativar este parâmetro.

      ON

      loose_binlog_realtime_apply_workers

      Controla o número de threads Brr Worker para replicação em tempo real.

      8

  4. 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 necessidade de reiniciar a instância.

Resultados da otimização

O exemplo a seguir mostra o efeito desse recurso em uma transação de importação de dados que envolve 5 milhões de linhas na instância primária:

  • Antes da otimização: A instância primária executa a transação primeiro. Após o commit, a réplica a aplica. A latência de replicação é igual ao tempo de execução da transação.

  • Após a otimização: O sistema executa a transação na instância primária e na réplica simultaneamente, eliminando a latência de replicação.

image.png