본문 바로가기

DB/Postgresql

샤딩에서 데이터 일관성 모델: 강한 일관성, 약한 일관성, CAP 이론

728x90
반응형

강한 일관성: 모든 샤드에서 동일한 데이터를 보장한다.

  • 강한 일관성은 데이터베이스 시스템에서 모든 읽기 요청이 항상 최신 데이터를 반환하도록 보장한다.
    즉, 데이터가 여러 샤드에 분산되어 있더라도, 모든 샤드에서 동일한 데이터를 읽을 수 있다.
    이는 데이터의 일관성을 유지하는 데 매우 중요하지만, 네트워크 지연이나 시스템 장애 시 가용성이 떨어질 수 있다.

약한 일관성: 일시적으로 일관성이 깨질 수 있지만, 최종적으로 일관성을 보장한다.

  • 약한 일관성은 데이터베이스 시스템에서 일시적으로 일관성이 깨질 수 있지만, 시간이 지나면 최종적으로 일관성을 보장한다. 즉, 모든 샤드가 동일한 데이터를 가지게 되기까지 시간이 걸릴 수 있다.
    이는 가용성을 높이는 데 유리하지만, 일시적으로 최신 데이터가 아닌 데이터를 읽을 수 있다.

CAP 이론: 일관성(Consistency), 가용성(Availability), 파티션 내성(Partition Tolerance) 중 두 가지를 선택하여 일관성 모델을 결정 한다.

  • CAP 이론은 분산 시스템에서 세 가지 속성인 일관성, 가용성, 파티션 내성 중 두 가지를 선택할 수밖에 없다는 이론이다.
    • 일관성(Consistency): 모든 노드가 동일한 데이터를 보장한다.
    • 가용성(Availability): 모든 요청이 항상 응답을 받을 수 있도록 보장한다.
    • 파티션 내성(Partition Tolerance): 네트워크 분할이 발생하더라도 시스템이 계속 동작할 수 있도록 보장한다.
  • 이 세 가지 속성을 동시에 만족할 수 없기 때문에, 시스템 설계 시 두 가지 속성을 선택하여 우선순위를 정해야 한다.
    예를 들어, 일관성과 가용성을 선택하면 네트워크 분할 시 시스템이 동작하지 않을 수 있다.

- 끝 -

728x90
반응형