Sobes.tech
Middle+

Qual é o significado do teorema CAP?

sobes.tech IA

Resposta da IA

A Teorema CAP (Consistência, Disponibilidade, Tolerância a Partições) afirma que em um sistema distribuído apenas duas das três propriedades podem ser garantidas ao mesmo tempo:

  • Consistência (Consistency): Todos os nós veem os mesmos dados ao mesmo tempo. Se os dados forem alterados em um nó, essa alteração é refletida imediatamente em todos os outros.
  • Disponibilidade (Availability): O sistema garante que cada solicitação recebe uma resposta (sem erro). Qualquer nó operacional pode processar solicitações.
  • Tolerância a Partições (Partition Tolerance): O sistema continua funcionando mesmo que, devido a problemas de rede, seja dividido em vários clusters isolados, e os nós não possam se comunicar entre si.

Em uma divisão de rede (Tolerância a Partições), o sistema deve escolher entre consistência e disponibilidade:

  • Sistema CP: Prefere a Consistência (Consistency) à Disponibilidade (Availability). Durante uma divisão, o sistema pode se tornar inacessível para garantir que todos os nós acessíveis vejam dados consistentes. Solicitações de gravação podem ser rejeitadas.
  • Sistema AP: Prefere a Disponibilidade (Availability) à Consistência (Consistency). Durante uma divisão, o sistema permanece acessível, mas os dados podem estar inconsistentes entre as partições. Após resolver a divisão, os dados devem ser sincronizados.
  • Sistema CA: Teoricamente existe, mas não pode existir em condições de rede reais onde as divisões são inevitáveis. Em um sistema distribuído, a Tolerância a Partições deve sempre ser considerada.

A Teorema CAP não afirma que um sistema não possa ser simultaneamente consistente e disponível em condições normais sem divisões. Ela se aplica especificamente em momentos de divisão de rede.

Ao escolher entre Consistente e Disponível em condições de Tolerância a Partições, a decisão depende dos requisitos do sistema:

  • Sistemas bancários, onde a precisão dos dados é crucial, frequentemente optam por CP.
  • Sistemas de redes sociais ou lojas online, onde a disponibilidade contínua é importante, mesmo com algum atraso na sincronização dos dados, frequentemente optam por AP.