개요

CAP 정리', 또는 브루어의 정리(Brewer -)는 다음과 같은 세 가지 조건을 모두 만족하는 분산 컴퓨터 시스템이 존재하지 않음을 증명한 정리이다. CAP 정리에 의하면 이 모든 것을 제공하는 것은 불가능하며, 한순간에 2개까지만을 최대한으로 제공할 수 있음이 증명되었다 (분산 컴퓨터 시스템에서).

  • 일관성(Consistency): 모든 노드가 같은 순간에 같은 데이터를 볼 수 있다.
  • 가용성(Availability): 모든 요청이 성공 또는 실패 결과를 반환할 수 있다.
  • 분할내성(Partition tolerance): 메시지 전달이 실패하거나 시스템 일부가 망가져도 시스템이 계속 동작할 수 있다.

위의 세 가지 조건의 첫 글자를 따서 CAP 정리라고 부른다.

2000년 전산학자 에릭 브루어가 이 명제를 가설로서 제시하였고, 2002년 세스 길버트와 낸시 린치가 이를 증명하였다.

PACELC

만약 네트워크가 P(partitioning)분산되어 있다면 A(Availablity)랑 C(Consistency)중에서 하나를 선택해야 하며, E(Else)그 외의 경우에는 시스템이 파티션 되어 있지 않고 정상적으로 작동하더라도 L(Latency)와 C(Consistency)중에서 선택해야 한다는 이론이다.