Teorema CAP

Origem: Wikipédia, a enciclopédia livre.

Teorema do CAP, também chamado de Teorema de Brewer, afirma que é impossível que o armazenamento de dados distribuído forneça simultaneamente mais de duas das três garantias seguintes:

Consistência Disponibilidade (Availability) Partição tolerante a falhas
Cada leitura recebe a escrita mais recente ou um erro Cada pedido recebe uma resposta (sem erro) - sem garantia de que contém a escrita mais recente O sistema continua a funcionar apesar de um número arbitrário de mensagens serem descartadas (ou atrasadas) pela rede entre nós

Em outras palavras, o teor do CAP afirma que, na presença de uma partição da rede, é preciso escolher entre consistência e disponibilidade. Observe que a consistência conforme definido no teor de CAP é bastante diferente da consistência garantida em transações de bases de dados ACID.

Explicação[editar | editar código-fonte]

Nenhum sistema distribuído está protegido contra falhas de rede, portanto, a partição geralmente deve ser tolerada. Na presença de partições, são dadas duas opções: consistência ou disponibilidade. Ao escolher consistência em relação à disponibilidade, o sistema retornará um erro ou um tempo limite se informações específicas não puderem ser garantidamente actualizadas devido à sua partilha na rede. Ao escolher disponibilidade sobre consistência, o sistema sempre processará a consulta e tentará retornar a versão disponível mais recente da informação, mesmo que não possa garantir que ela esteja atualizada devido às partições.