키워드
→ CAP 이론, DynamoDB, MongoDB
노트
- CAP 이론은 분산환경에서 시스템이 Consistence, Availability, Partition tolerance를 제공하는 것은 동시에 이뤄 질 수 없다는 정리이다.
- 일관성: 읽는 데이터는 항상 일관적이다. 즉 Phantom Read나, Dirty Read가 발생하지 않는다.
- 가용성: 시스템은 여러 노드중 몇개가 장애가 나도, 다른 노드에 접근하여 계속해서 사용이 가능하다.
- 분할 허용성: 분할된 네트워크 환경에서 동작하는 시스템에서도 정상적으로 작동한다.
- 위 3가지 특성을 모두 만족시킬 수 있는 분산 시스템은 존재하지 않는 다는 것이 CAP 정리이다.
- MongoDB를 예로 들어보면, MongoDB는 CP 시스템이다. 일관성 있는 읽기를 희생하는 대신 가용성과 영속성을 잘 지원한다.
- DyanmoDB를 예로들어보면, DynamoDB는 (기본적으로는) AP시스템이다. 가용성을 희생하는 대신 일관성과 분할 허용성을 잘 지원한다.
요약
요약: Consistence, Availability, Partition tolerance. 3개를 모두 만족할 수 없다.