토픽 106 / 201·NoSQL 및 분산 데이터베이스
CAP 이론 (CAP Theorem)
CAP 이론 (CAP Theorem)
Eric Brewer가 제안한 정리로, 분산 시스템에서 일관성(Consistency), 가용성(Availability), 분할 내성(Partition Tolerance) 3가지를 동시에 모두 보장할 수 없으며 최대 2가지만 선택 가능하다는 이론
특징: 분산 시스템 설계의 근본적 트레이드오프, 네트워크 분할은 불가피하므로 실질적으로 CP or AP 선택
3요소
- •Consistency(일관성): 모든 노드가 동일 시점에 같은 데이터를 반환
- •Availability(가용성): 모든 요청에 대해 응답 보장 (장애 노드 제외)
- •Partition Tolerance(분할내성): 네트워크 분할 상황에서도 시스템 동작 지속
조합 유형
- •CP(일관성+분할내성): 일관성 우선, 가용성 희생 (MongoDB, HBase, ZooKeeper)
- •AP(가용성+분할내성): 가용성 우선, 일관성 지연 허용 (Cassandra, DynamoDB, CouchDB)
- •CA(일관성+가용성): 분할내성 포기, 단일 노드만 가능 (전통 RDBMS)
적용사례: 분산 DB 선택, 아키텍처 설계, 일관성/가용성 트레이드오프 결정
비교: CP(일관성우선/장애시 거부) vs AP(가용성우선/최종일관성) vs CA(단일노드/분산불가)
연관: NoSQL, 분산 시스템, PACELC, BASE