CAP 이론

 

관계형 데이터베이스는 ACID 속성을 가지고 있으며 안전하게 저장하고 정합성을 보장하는데 주목적이 있다.

·       Atomicity(원자성) : 트랜잭션과 관련된 모든 작업들이 정상적으로 수행 되었는지, 아니면 모든 작업들이 수행되지 않았는지를 보장한다. 원자성은 중간 단계까지 실행되고 실행이 실패하는 일은 없도록 한다.

·       Consistency(일관성) : 트랜잭션 실행이 성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태로 유지한다.

·       Isolation(고립성) : 트랜잭션이 실행되는 동안 다른 트랜잭션의 작업이 끼어들지 못하게 보장한다. , 다른 트랜잭션에서 중간단계의 데이터를 확인할 없다.

·       Durability(지속성) : 성공적으로 수행된 트랜잭션은 영원히 유지되어야 한다.

 

최근 하드웨어가 발전하고, 검색 서비스, SNS 서비스 같은 대규모 데이터 처리 장애 상황에서도 서비스를 유지해야하는 특성을 반영하여 BASE 라는 속성에 맞는 데이터 관리 시스템이 필요로 하게 되었다.

·       Basically Available : 언제든지 데이터에 접근할 있는 속성

·       Soft state : 특정 시점에서는 데이터 일관성이 보장되는 않는 속성

·       Eventually consistent : 일정시간이 지나면 데이터의 일관성이 유지되는 속성

 

결국 확장성과 고가용성을 제공해야하지만, 표준 SQL이나 엔티티 간의 관계를 지원하지 않는 데이터 관리 시스템이 등장하게 되었으며, 이러한 시스템을  NoSQL이라고 한다. 분산환경의 NoSQL 시스템을 구성할 경우 CAP 이론이라는 것이 있다.

·       Consistency (정합성) : 모든 클라이언트는 항상 동일한 데이터를 보장 받는 속성

·       Availability (가용성) : 네트워크 단절 상황에서도 장애가 발생하지 않은 노드는 모든 요청에 대해서 정해진 시간 내에 응답해야하는 속성

·       Partition Tolerance (단절내성) : 네트워크가 단절된 상태에서도 시스템의 속성(정합성이나 가용성) 유지해야한다는 속성. 분산환경에서는 네트워크상에 서버들이 분산배치되기 때문에 속성은 반드시 포함해야하는 속성이다.

 

CAP 이론은 CAP 속성을 정의한것으로 적절한 응답 시간내에 가지 속성을 모두 만족시키는 분산 시스템을 구성할 없다라고 정의한 이론이다.

 

관계형 데이터베이스는 정합성(C) 가용성(A) 초점이 맞춰져 있는 반면, NoSQL 솔루션들은 가용성(A) – 단절내성(P) 또는 정합성(C)-단절내성(P) 특성을 제공한다. CAP 이론에 따라 분산된 환경에서는 가지 속성을 동시에 만족시킬 없기 때문에 저장되는 데이터의 속성과 요구사항을 파악해 요구사항에 어떤 속성을 갖는지를 알아야 한다.

 

 

2020-06-07 / Sungwook Kang / http://sungwookkang.com

 

 

NoSQL, 분산 데이터 저장, CAP이론, Consistency, Availability, Partition Tolerance

'NoSql' 카테고리의 다른 글

NoSQL 특징및 분류  (0) 2020.06.09
CAP 이론  (0) 2020.06.08
Cassandra 설치  (0) 2016.10.07

+ Recent posts