Teorema CAP ou Teorema de Brewer

 O Teorema CAP (também conhecido como Teorema de Brewer) é um conceito fundamental na ciência da computação, especialmente em sistemas distribuídos. Ele afirma que, em um sistema distribuído, é impossível garantir simultaneamente os três seguintes atributos:

  1. Consistência (C - Consistency):
    Todos os nós veem os mesmos dados ao mesmo tempo. Ou seja, após uma operação de escrita, todas as leituras subsequentes retornam o valor mais recente.

  2. Disponibilidade (A - Availability):
    Cada requisição recebe uma resposta (mesmo que nem sempre com os dados mais atualizados), sem garantia de que ela reflete a versão mais recente dos dados.

  3. Tolerância à Partição (P - Partition Tolerance):
    O sistema continua funcionando mesmo que haja falhas de comunicação entre partes do sistema (ex: falha de rede entre servidores).


Resumo Visual:

Você pode ter apenas dois dos três ao mesmo tempo:

Combinado Significa que... Exemplo de sistema
CP (Consistência + Partição) O sistema é consistente e tolera falhas de rede, mas pode ficar indisponível. Bancos de dados como HBase, MongoDB (em certos modos)
CA (Consistência + Disponibilidade) O sistema é consistente e sempre responde, mas não tolera falhas de rede. Sistemas centralizados ou cluster local
AP (Disponibilidade + Partição) O sistema responde mesmo em caso de falhas de rede, mas pode não ser consistente imediatamente. CouchDB, Cassandra, DynamoDB

Por que isso importa?

Porque ao projetar sistemas distribuídos (como bancos de dados, microserviços ou aplicações em nuvem), você precisa fazer escolhas conscientes sobre quais dessas garantias são mais importantes para seu caso de uso.


Comentários

Postagens mais visitadas deste blog

O que é Flutter Engineering?

Usando Embeddings para Encontrar a Mulher Ideal

Estudo investiga como ChatGPT está influenciando a forma como as pessoas falam