데이터베이스는 데이터 저장 형식에 따라 다양한 종류가 있습니다. 

2023.02.09 - [DB/공통] - 데이터베이스의 종류

 

 

이번에는 데이터베이스 선택에 도움을 주는 CAP 이론(Cap Theorem)에 대해서 알아보겠습니다.

 

CAP 이론이란 Network로 연결된 분산된 데이터베이스 시스템은

 

일관성(Consistency), 가용성(Availability), 분산처리(Partition Tolerance)의 특성 중 2가지만을 

 

가질 수 있다는 이론입니다.

 

1. Consistency (일관성)

 일관성(Consistency)은 모든 데이터를 요청할 때 응답으로

 

가장 최신의 변경된 데이터를 리턴하거나 실패를 리턴한다는 의미입니다.

 

즉, 데이터베이스 안의 모든 node들이 같은 값을 가지고 있어야 합니다.

 

그렇지 않다면 request를 보냈을 때 request가 지연(delay)될 수 있고, 

 

응답이 돌아오지 않기 때문에 request를 계속해서 보내는 경우가 생길 수 있습니다.

 

예를 들어 금융시스템에서 해당 문제가 생긴다면

 

송금이 안된 줄 알고 계속 송금하는 사태도 발생할 수 있습니다.

 

2. Availability (가용성)

 가용성(Availability)은 모든 요청(request)에 대해서 정상적인 응답을 하는 것입니다.

 

즉, 노드 일부에서 장애(Down 등)가 발생하더라고 READ와 WRITE 등의 동작은

 

항상 성공적으로 리턴되어야 합니다. 

 

하지만 접근하는 노드에 따라 값이 달라지기 때문에,

 

해당 응답이 가장 최근 데이터라는 것을 보장받을 수 없습니다.

 

3. Partition - Tolerance (분산처리)

 분산처리 or 분할내성 or 분할 내구성 or 파티션 허용 등으로 불리는 partition-tolerance

 

DB 노드간의 통신 장애가 발생하더라도 동작해야 한다는 의미를 가집니다.

 

 

Reference
 

CAP Theorem

CAP theorem was introduced by the computer scientist Eric Brewer. The CAP stands for Consistency, Availability and Partition tolerance.

data-science-blog.com

 

어떤 DB를 사용해야 할까 ? CAP 이론

안녕하세요. 현재 세상에는 수많은 데이터를 저장할 수 있는 서비스가 많이 나와있습니다. 그런데 이런 와중에 내가 만드는 시스템은 어떤 Database를 사용해야 좋을까요? 확장성은 어느정도로 가

sabarada.tistory.com