Skip to content
Latchkey

O Que É uma Réplica de Banco de Dados? Uma Cópia Que Divide a Carga

Uma réplica de banco de dados é uma cópia de um banco mantida em sincronia com um primário, usada para servir leituras e para fazer failover se o primário cair.

A maioria dos bancos de dados vê muito mais leituras do que escritas. Uma réplica copia os dados de um primário para que o tráfego de leitura possa ser espalhado por réplicas enquanto as escritas ainda vão para o primário. Réplicas também provêem um standby para failover. A pegadinha é o lag de replicação: uma réplica pode estar ligeiramente atrás do primário a qualquer momento.

Como a replicação funciona

As escritas vão para o primário, que transmite suas mudanças para uma ou mais réplicas que as aplicam. As leituras podem ser servidas de uma réplica para aliviar o primário. A réplica é somente leitura no que diz respeito às escritas da aplicação.

Por que times usam réplicas

  • Escala de leitura: espalhar tráfego de leitura por réplicas.
  • Alta disponibilidade: promover uma réplica se o primário falha.
  • Localidade geográfica: colocar réplicas perto dos usuários.
  • Isolar leituras analíticas pesadas do caminho de escrita.

Lag de replicação

Uma réplica costuma estar um instante atrás do primário. Leia sua própria escrita de uma réplica cedo demais e você pode ainda não vê-la. Isso é consistência eventual em forma concreta, e é uma fonte frequente de comportamento confuso e intermitente.

A cilada dos testes

Código que escreve no primário e então lê de uma réplica pode passar localmente (um banco de dados) e falhar em produção (leitura/escrita separadas). Testes que espelham a topologia real, ou que levam em conta o lag, pegam esses bugs antes que cheguem à produção.

Deploys e failover

A promoção de réplica muda qual nó é o primário. Aplicações precisam reconectar e lidar com uma breve janela de indisponibilidade. Pipelines que testam failover, não apenas o caminho feliz, são o que torna uma promoção rotineira em vez de um incidente.

Testes de integração conscientes da topologia

Reproduzir uma configuração de primário-mais-réplica no CI é mais pesado do que uma única instância. Runners aquecidos (como o Latchkey) mantêm essa topologia mais realista viável a cada execução.

Principais conclusões

  • Uma réplica de banco de dados é uma cópia sincronizada usada para escala de leitura e failover.
  • O lag de replicação significa que uma réplica pode estar brevemente atrás do primário.
  • Ler sua própria escrita de uma réplica cedo demais é um bug intermitente clássico.

Guias relacionados