개발놀이터

면접 준비 : CAP 정리 본문

CS 지식/면접준비

면접 준비 : CAP 정리

마늘냄새폴폴 2023. 3. 19. 03:38

Q. CAP 정리에 대해서 설명해주세요.
A. CAP 정리는 분산시스템에서 Consistency, Availability, Partition tolerance 이 세가지 속성을 모두 만족시키는 데이터베이스는 없다는 정리입니다. Consistency는 같은 시간에 클라이언트가 같은 데이터를 봐야 한다는 정합성이고, Availability는 모든 노드가 요청에의한 응답을 할 수 있어야 한다는 가용성이고, Partition tolerance는 장애 상황에서도 애플이케이션이 작동해야 한다는 장애 허용입니다. 

Q. CAP정리에서 RDBMS는 어디에 속하나요? (충분히 물어볼 수 있음)
A. RDBMS는 분산시스템이 아니고, CAP정리는 분산시스템을 기반으로한 정리이기 때문에 RDBMS를 CAP정리로 설명하는 것은 맞지않습니다. 하지만 CAP정리를 처음 공개한 Brewer는 RDBMS를 CA라고 정의했습니다. 그 이유는 RDBMS는 마스터 노드와 슬레이브 노드로 구성되어 있으며, 장애가 생겨서 마스터 노드가 죽어버리면 슬레이브 노드중 하나가 마스터 노드를 대체하기 때문입니다.