-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
CAP
- C : consistency(일관성)
- A : availability(가용성)
- P : partition tolerance(분할 내구성)
- network로 연결된 분산 데이터 저장 시스템은 C A P 중 2가지 특성만을 충족할 수 있다.
- 3가지 모두를 충족할 수 없다.
Consistency - 일관성
- 모든 읽기에 대해 모든 db노드가 항상 동일한 데이터를 반환해야한다.
- DB가 두 개의 A&B instance를 유지하고 있다면 어떤 인스턴스에 읽기 요청을 보내더라도 동일한 값을 반환해야한다.
- 즉 A에서 update가 발생한다면 B는 해당 데이터 read 요청에 대해 A와의 동기화 후 반환해야한다.
Availability - 가용성
- 클러스터의 일부 노드에서 장애가 발생하더라도 read & write가 정상 수행되어야한다.
Partition Tolerance - 분할 내구성
- 분할 내구성이랑 DB노드간 통신 장애가 발생하더라도 동작해야한다.
- A & B라는 DB 인스턴스가 존재.
- 이때 A와 B 사이 네트워크 장애가 발생
- 유저가 A db에 쿼리
- A 인스턴스는 B의 상태를 모르더라도 동작해야한다.
그런데P는 네트워크 장애를 용인하느냐를 다루지만 사실상 네트워크 장애는 무조건 발생한다.- 결국 C와 A 사이의 선택이다.
Reactions are currently unavailable