Sobes.tech
Middle+

Qual é a diferença entre replicação síncrona e assíncrona, e em que casos cada uma delas é mais adequada?

sobes.tech IA

Resposta da IA

A principal diferença reside em quando a transação é considerada concluída para o remetente.

Replicação síncrona:

  • A transação é considerada concluída apenas após os dados serem gravados com sucesso em pelo menos uma réplica.
  • Garante que os dados estarão disponíveis na réplica imediatamente após a confirmação ao remetente.
  • Alta consistência de dados entre o mestre e as réplicas.
  • Desempenho mais baixo devido à espera de confirmação das réplicas.
  • Adequado para sistemas onde a perda mesmo de uma quantidade mínima de dados não é permitida (por exemplo, transações financeiras).

Replicação assíncrona:

  • A transação é considerada concluída imediatamente após os dados serem gravados no servidor mestre.
  • Os dados são replicados nas réplicas com algum atraso.
  • Pode haver perda de dados na réplica em caso de falha do mestre antes que os dados sejam replicados.
  • Desempenho mais alto, pois não há espera por confirmação das réplicas.
  • Adequado para sistemas onde o alto desempenho é mais importante que a coerência estrita dos dados (por exemplo, cache, bancos de dados analíticos).

Tabela comparativa:

Característica Replicação síncrona Replicação assíncrona
Conclusão da transação Após gravação em M + R Após gravação em M
Consistência de dados Alta Baixa (com atraso)
Desempenho Menor Maior
Perda potencial de dados Baixa Maior
Aplicações Sistemas financeiros, dados críticos Cache, logging, análise