분산 시스템에서 주로 언급되는 이론으로 CAP theorem 가 있다. CAP 정리는 다음 세 조건을 모두 만족하는 분산 시스템은 존재하지 않는다는 것을 증명한 정리이다.
- 일관성(Consistency): 모든 노드가 같은 순간에 같은 데이터 볼 수 있다. 한 노드의 데이터 변경되면 모든 노드의 데이터도 동일한 값으로 바뀐다.
- 가용성(Availability): 모든 요청이 성공 또는 실패 결과를 반환할 수 있다.
- 분할내성(Partition Tolerance): 네트워크 장애가 발생해도 시스템이 계속 동작할 수 있다. CAP 정리에 따르면 위 조건중 최대 2가지만 충족이 가능하다.

CA
시스템은 변경된 최종 값을 응답하고 높은 가용성 제공
모든 노드에서 일관성과 가용성을 제공. 즉 모든 노드에서 변경된 최종값 쓰고 일부 노드가 다운되어도 나머지 노드가 정상 동작함. RDBMS가 CA에 해당함.
AP
시스템은 분산 환경에서 높은 가용성 제공
가용성을 우선하며 분할내성 제공. 노드 간 네트워크 분할이 발생하면 일관성을 포기하고 기능을 계속한다(가용성). Cassandra 가 해당
CP
시스템은 분산 환경에서 변경된 최종 값 응답
일관성을 우선하며 분할내성 제공. 네트워크 분할이 발생하면 일관성 보장 못하므로 분할이 해결될 때까지(일부 혹은 전체) 기능을 차단한다. MongoDB 해당
NoSQL은 분산 시스템 기반이여서 분할내성을 기본으로한다. 따라서 NoSQL은 가용성(AP)나 일관성(CP)를 우선하는 설계를 택한다.