패스잇
백엔드 개발 · 심화

CAP 정리(CAP Theorem)에 대해 설명하고, 실제 시스템에서의 트레이드오프를 예를 들어 설명해주세요.

힌트 · Consistency, Availability, Partition Tolerance 중 2가지만 선택 가능함을 설명해보세요.

CAP 정리일관성(Consistency)가용성(Availability)분할 내성(Partition Tolerance)트레이드오프

모범답안

CAP 정리는 분산 시스템이 일관성(Consistency), 가용성(Availability), 분할 내성(Partition Tolerance) 세 가지 속성을 동시에 만족할 수 없다는 것을 말합니다. 네트워크 분할이 발생했을 때, 시스템은 일관성을 유지하거나 가용성을 유지하는 둘 중 하나를 선택해야 합니다.

예를 들어, 분산 데이터베이스에서 사용자가 데이터를 읽을 때, 모든 노드가 항상 최신 데이터를 가지고 있도록 보장하는 것이 일관성입니다. 반면, 가용성은 시스템이 항상 요청에 응답할 수 있음을 의미합니다. 만약 네트워크 분할로 인해 일부 노드와 통신이 불가능해지면, 일관성을 유지하려면 해당 노드에 대한 요청을 거부해야 하므로 가용성이 떨어집니다. 반대로 가용성을 유지하기 위해 응답한다면, 최신 데이터가 아닌 데이터를 반환할 수 있어 일관성이 깨질 수 있습니다. 따라서 실제 시스템에서는 이 세 가지 중 두 가지만 선택적으로 보장하게 됩니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 데이터베이스 면접 질문

← 데이터베이스 면접 질문 전체 보기