

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Teorema CAP
<a name="cap-theorem"></a>

 Outra forma de pensarmos sobre a disponibilidade é em relação ao teorema CAP. O teorema afirma que um sistema distribuído, composto por vários nós que armazenam dados, não pode fornecer simultaneamente mais de duas das três garantias a seguir: 
+  **C**onsistência: cada solicitação de leitura recebe a gravação mais recente ou um erro quando a consistência não pode ser garantida. 
+  **D**isponibilidade: cada solicitação recebe uma resposta sem erros, mesmo quando os nós estão inativos ou indisponíveis. 
+  **T**olerância à partição: o sistema continua operando apesar da perda de um número arbitrário de mensagens entre os nós. 

(Para obter mais detalhes, consulte Seth Gilbert e Nancy Lynch, [http://dl.acm.org/citation.cfm?id=564601&CFID=609557487&CFTOKEN=15997970](http://dl.acm.org/citation.cfm?id=564601&CFID=609557487&CFTOKEN=15997970), *ACM SIGACT News*, Volume 33, Edição 2 (2002), pág. 51–59.) 

 A maioria dos sistemas distribuídos precisa tolerar falhas de rede e, portanto, o particionamento de rede deve ser permitido. Isso significa que essas workloads precisam escolher entre consistência e disponibilidade quando ocorre uma partição de rede. Se a workload escolher a disponibilidade, ela sempre retornará uma resposta, mas com dados potencialmente inconsistentes. Se escolher a consistência, então, durante uma partição de rede, ele retornará um erro, pois a workload não pode ter certeza sobre a consistência dos dados. 

 Para workloads cujo objetivo é fornecer níveis mais altos de disponibilidade, elas podem escolher Disponibilidade e Tolerância à Partição (AP) para evitar o retorno de erros (estar indisponível) durante uma partição de rede. Isso resulta na necessidade de um [modelo de consistência](https://en.wikipedia.org/wiki/Consistency_model) mais relaxado, como consistência eventual ou consistência monotônica. 