CAP 이론과 MongoDB의 구성

YB·2023년 12월 31일

DB 공부

목록 보기
3/6
post-thumbnail

CAP 이론 개요

CAP는 Consistency(일관성), Availability(가용성), Partition Tolerance(분할 허용성)의 약자이다. CAP 이론은 “적절한 응답 시간 내 세 가지 속성을 모두 만족시키는 분산 시스템을 구성할 수 없다”는 이론


C, A, P

C - Consistency (일관성)

  • 사용자가 분산 데이터베이스의 어떤 노드와 통신하든지 상관 없이 같은 데이터를 조회할 수 있음.

A - Availability (가용성)

  • 모든 요청이 응답을 받을 수 있음.

P - Partition Tolerance (분할 허용성)

  • 노드 간 통신이 끊어지더라도 시스템이 여전히 작동함

CP, AP, CA

CP

  • Consistency를 유지하기 때문에 어떤 노드에 조회해도 같은 값을 내주지만, Availablity를 포기했기 때문에 에러가 발생했을 때는 답을 받을 수 없음
  • ex: MongoDB

AP

  • Availability를 유지하기 때문에 하나의 노드에 문제가 생겨 에러로 응답하더라도 다른 노드에서 조회가 가능
  • 한 시점에 어느 노드에서 조회했는지에 따라 결과가 다를 수 있음
  • ex: Cassandra

CA

  • 항상 일관된 데이터를 조회할 수 있지만, 노드 간 통신이 안될 경우 사용할 수 없음
  • ex: RDBMS


MongoDB의 구성

  • Router는 적당한 Shard에 연산을 요청하기 위한 Interface
  • Config server는 클러스터의 메타데이터를 저장. 어느 데이터가 어느 Shard에서 와야하는지
  • 각 Shard 안에 실제 데이터들이 저장 됨.
    • 각 Shard는 Primary, Secondary, Arbiter 서버로 구성되어 데이터 손실을 예방
    • Shard 들은 병렬로 더 많이 추가될 수 있음
    • 하나의 Collection이 여러 Shard들에 나눠져서 저장될 수도 있음.

참고:

profile
뭐라도 만들어본다

0개의 댓글