Teorema CAP

O Teorema CAP (também conhecido como Teorema de Brewer) é um dos principais conceito em sistemas distribuídos. Ele foi proposto por Eric Brewer em 2000 e formalmente provado em 2002 por Seth Gilbert e Nancy Lynch. Este teorema descreve as limitações inerentes ao design de sistemas distribuídos, especialmente em relação a três propriedades essenciais: Consistência (C), Disponibilidade (A) e Tolerância à Partição (P).

De acordo com o teorema, em um sistema distribuído é impossível garantir simultaneamente as três propriedades a seguir:

Consistência (Consistency): Todos os nós do sistema possuem os mesmos dados ao mesmo tempo. Ou seja, após uma operação de escrita, todas as leituras subsequentes retornam o valor mais recente.
Disponibilidade (Availability): O sistema está sempre disponível para responder a solicitações, mesmo que alguns nós estejam inativos ou enfrentando falhas.
Tolerância à Partição (Partition Tolerance): O sistema continua a operar mesmo que haja falhas de comunicação ou partições na rede que impeçam a troca de informações entre alguns nós.

Segundo o teorema um sistema distribuído pode satisfazer no máximo duas dessas propriedades ao mesmo tempo, porém nunca as três (ao mesmo tempo).