CAP 이론: Difference between revisions

From IT Wiki
No edit summary
No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[분류:데이터베이스]]
[[분류:데이터베이스]]
;Consistency, Availability, Partition tolerance
;Consistency, Availability, Partition tolerance
C, A, P 중 2개를 선택해야 한다. (3가지 모두 만족할 순 없음)


[[파일:CAP 이론.png]]
[[파일:CAP 이론.png]]
C, A, P 중 2개를 선택해야 한다. (3가지 모두 만족할 순 없음)
 
* '''일관성(Consistency)'''
* '''일관성(Consistency)'''
** 모든 노드들은 같은 시간에 동일한 항목에 대하여 같은 내용의 데이터를 사용자에게 보여준다.
** 모든 노드들은 같은 시간에 동일한 항목에 대하여 같은 내용의 데이터를 사용자에게 보여준다.
Line 10: Line 11:
* '''분할내성(Partition tolerance)'''
* '''분할내성(Partition tolerance)'''
** 메시지 전달이 실패하거나 시스템 일부가 망가져도 시스템이 계속 동작할 수 있어야 한다.
** 메시지 전달이 실패하거나 시스템 일부가 망가져도 시스템이 계속 동작할 수 있어야 한다.
== CAP 선택 유형 ==
{| class="wikitable"
|-
! 분류 !! 설명 !! 예시
|-
| C+A || 메시지 손실을 방지하는 강한 신뢰형
||
* 일반적 RDBMS
* 오라클 등
|-
| C+P || 데이터 보다는 성능이 중요한 퍼포먼스형
||
* Big Table
* MongoDB
|-
| A+P || 일관성을 크게 요하지 않는 서비스에 적합
||
* CouchDB
* Cassandra
|}

Latest revision as of 22:28, 27 October 2019

Consistency, Availability, Partition tolerance

C, A, P 중 2개를 선택해야 한다. (3가지 모두 만족할 순 없음)

CAP 이론.png

  • 일관성(Consistency)
    • 모든 노드들은 같은 시간에 동일한 항목에 대하여 같은 내용의 데이터를 사용자에게 보여준다.
  • 가용성(Availability)
    • 모든 사용자들이 읽기 및 쓰기가 가능해야 하며, 몇몇 노드의 장애 시에도 다른 노드에 영향을 미치면 안된다.
  • 분할내성(Partition tolerance)
    • 메시지 전달이 실패하거나 시스템 일부가 망가져도 시스템이 계속 동작할 수 있어야 한다.

CAP 선택 유형[edit | edit source]

분류 설명 예시
C+A 메시지 손실을 방지하는 강한 신뢰형
  • 일반적 RDBMS
  • 오라클 등
C+P 데이터 보다는 성능이 중요한 퍼포먼스형
  • Big Table
  • MongoDB
A+P 일관성을 크게 요하지 않는 서비스에 적합
  • CouchDB
  • Cassandra