😀 Jerry/면접 질문

[1분 면접] CAP 정리에 대해서 설명해주세요.

Jerry_K 2025. 4. 11. 12:22

📌 면접 답변

  • CAP 정리는 분산 데이터베이스 시스템이 CAP 중 2개의 속성만 제공할 수 있다는 이론이다.
  • C(일관성, Consistency), A(가용성, Availability), P(분할 내성, Partition Tolerance)
  • 3가지 속성을 모두 만족하는 분산 데이터 베이스 시스템은 존재하지 않는다.
  • 분산 시스템에서 Partition은 언젠가 반드시 발생한다. 
  • 따라서 P의 관점으로 바라보면 좋다.
    • 네트워크 분할 상태에 Consistency와 Availablity 모두 보장할 수 없음

 

 

각 속성에 대한 설명

C (일관성) : 모든 클라이언트 요청은 어느 노드에 연결되어도 같은 데이터를 볼 수 있다.

A (가용성) : 노드 일부에 문제가 발생하더라도, 시스템은 클라이언트의 모든 요청에 유효한 응답을 전해줘야 함

P (분할 내성) : 노드 사이에 통신이 불가능한 상황에서도 시스템이 계속 동작 (네트워크 장애에도 동작)

 

 

각 속성의 조합 

P의 발생 상황에서 C와 A는 양립 할 수 없고, P의 발생 조건에서 C와 A를 바라보면 좋다.

 

CP (네트워크 장애가 발생했을 때, 일관성 선택)

  • A서버와 B서버가 동기화가 안되기 때문에, 트랜잭션을 거부하거나 지연
  • 가용성이 떨어진다.

 

AP (네트워크 장애가 발생했을 때, 가용성 선택)

  • A서버와 B서버가 동기화 되지 않더라고, 트랜잭션 허용
  • 일관성이 떨어진다.

 

CA 

  • 만족하는 상황은 RDBMS인데, 이것은 단일 서버로 구성될 때이다.
  • CAP 정지가 분산 데이터베이스 시스템이라는 조건이므로,
    사실상 CA를 만족하는 시스템은 분산 데이터 시스템에 존재하지 않게된다.

📌 내 답변

CAP에 대해 정확히 기억은 나지 않습니다.

Cosistence, A~~, P~~로 세가지 모두 만족 할 수 없는 것으로 알고 있습니다.

예를 들어 C,A를 만족하면 P는 만족 할 수 없는 것입니다.

 

Self Feedback

  • CAP의 약자가 무엇인지 몰랐다.
  • 본질적으로 이게 무엇을 정의한 것인지 잘 몰랐다. 
  • 각 속성의 조합에 대한 특징을 알지 못했다.

[출처 및 참고 자료]

https://www.maeil-mail.kr/question/138

 

매일메일 - 기술 면접 질문 구독 서비스

기술 면접 질문을 매일매일 메일로 보내드릴게요!

www.maeil-mail.kr