Sobes.tech
Middle+

Quais características do trabalho com replicação em bancos de dados você pode destacar?

sobes.tech IA

Resposta da IA

A replicação fornece redundância, tolerância a falhas e escalabilidade através da criação de cópias de dados em diferentes servidores.

Principais características:

  • Síncrona e assíncrona: A síncrona garante que os dados sejam gravados em todas as réplicas antes de confirmar ao cliente, assegurando alta consistência, mas potencialmente atrasando a gravação. A assíncrona confirma a gravação ao cliente antes de ser aplicada em todas as réplicas, mais rápida, mas com possível atraso na propagação das mudanças.
  • Mestre-escravo (primário-secundário): Uma réplica (mestre) processa as gravações, as outras (escravos) apenas leem. As gravações do mestre são distribuídas para os escravos. Simples de implementar, mas pode tornar-se um gargalo sob alta carga de gravação.
  • Multimestre: Várias réplicas podem aceitar gravações. Aumenta a disponibilidade para gravação, mas requer resolver conflitos quando se grava simultaneamente na mesma entrada em diferentes mestres.
  • Atraso de replicação: Tempo entre a gravação no mestre e a aparição dos dados no escravo. Pode levar a ler dados desatualizados em escravos em replicação assíncrona.
  • Resolução de conflitos: Necessária em replicação multimestre. Podem ser usadas diferentes estratégias: "a última gravação ganha", versão dos dados, funções personalizadas.
  • Testes de carga: Importantes para determinar a configuração ótima e o número de réplicas.
  • Monitoramento: Acompanhamento do estado da replicação, atraso, erros.
# Exemplo de monitoramento do estado da replicação no PostgreSQL usando psql
// SHOW WAL / XLOG LOCATION;             -- No mestre
// SELECT pg_current_wal_lsn();        -- No mestre (desde 9.4)
// SELECT pg_last_wal_receive_lsn();  -- No escravo
// SELECT pg_last_wal_replay_lsn();   -- No escravo

Tabela: Comparação de tipos de replicação

Tipo de replicação Escrita Leitura Complexidade Consistência
Mestre-escravo Mestre Mestre e escravos Baixa Alta (síncrona), Baixa (assíncrona)
Multimestre Todas as réplicas Todas as réplicas Alta Depende da estratégia de resolução de conflitos