hobokai 님의 블로그

CAP 이론에 대해 아시나요? 본문

Data Platform

CAP 이론에 대해 아시나요?

hobokai 2025. 8. 18. 15:01

● CAP 이론 (CAP Theorem):

  분산 시스템에서 다음 3가지 특성 중 최대 2개만 동시에 보장할 수 있다는 이론입니다.

  C - Consistency (일관성):
  - 모든 노드에서 동일한 시점에 동일한 데이터를 읽을 수 있음
  - 분산된 모든 노드가 항상 같은 값을 가져야 함

  A - Availability (가용성):
  - 시스템이 항상 읽기/쓰기 요청에 응답할 수 있음
  - 일부 노드 장애가 있어도 서비스 중단 없이 동작

  P - Partition Tolerance (분단 허용성):
  - 네트워크 분단(노드 간 통신 장애)이 발생해도 시스템이 계속 동작
  - 분산 시스템에서는 네트워크 장애가 언젠가 발생한다고 가정

  실제 시스템 분류:

  CP 시스템 (일관성 + 분단허용):
  - MongoDB, HBase, Redis Cluster
  - 일관성을 위해 가용성 포기 (장애 시 서비스 중단)

  AP 시스템 (가용성 + 분단허용):
  - Cassandra, DynamoDB, CouchDB
  - 가용성을 위해 일시적 데이터 불일치 허용

  CA 시스템 (일관성 + 가용성):
  - MySQL, PostgreSQL (단일 노드)
  - 분산 환경에서는 실질적으로 불가능

  실무 의미:
  시스템 설계 시 비즈니스 요구사항에 따라 무엇을 포기할지 결정해야 합니다.
  - 금융: 일관성 중요 → CP
  - SNS: 가용성 중요 → AP