[Site Map]  [빅데이터분석목차]

 

연관토픽

  1. [연관] CAP(Consistency, Availability, Partitioning) 이론

 

개념 : 현실적 NoSQL 품질기준

  • 기존 CAP 이론의 문제점 개선을 위해  정상 상황과 장애 상황을 모두 고려하는 PACLEC 이론 제안(2013년 예일대 Daniel Abadi)
  • Partition(타임아웃, 노드 장애 등) 발생 여부에 따라 데이터 관리 기준을 결정하는 NoSQL 품질기준
  • CAP 이론의 단점을 보완하기 위해 네트워크 장애상황과 정상상황으로 나누어서 설명하는 이론
  • 장애상황 시 A(Availabliity)와 C(Consistency) 상충, 하나만 선택하고, 정상상황 시 L(Latency)과 C(Consistency) 상충, 하나만 선택

 

 

 

기존 CAP 이론의 문제점

CAP 이론 문제점
  • 분산시스템에서 일관성(Consistency), 가용성(Availability), 생존성(Partition Tolerance) 모두 완전히 만족 불가
  • C+A, C+P, A+P의 각 두 가지 조건을 완전히 만족하는 조합 제시
  • 생존성(P) 선택을 배제한 C+A의 경우 NW 장애(메시지 손실) 발생 가능성 Zero 가정 → 분산환경에서 존재할 수 없는 Case
  • 따라서, P를 전제로 C+P, A+P 조합만 가능 → 장애 상황에 국한된 한계 존재

 

 

 

PACELC 이론 개념도

 

  • PACELC 이론에 기반, 정상/장애 상황 조합 유형에 따라 NoSQL 시스템 설계 수행
  • P(네트워크 파티션) 상황에서 A(가용성)과 C(일관성)의 상충 관계와 E(else, 정상) 상황에서 L(지연 시간)과 C(일관성)의 상충 관계를 설명
  • P(Partition) 발생에 따라 PA/EL PA/EC PC/EL PC/EC 4가지 품질 기준이 정의됨
항목 설명

파티션(네트워크 장애) 상황일 때는 A와 C는 상충하며 둘 중 하나를 선택해야 함

- 네트워크 단절이 일어나 몇 개의 노드에 접근할 수 없을 때 C를 위해 데이터 반영이 아예 실패하던지, C를 포기하고 일단 접근 가능한 노드들 이게 만 데이터를 반영하던지 둘 중의 하나만 선택해야 함

정상상황일때는 L과 C는 상충하 며 둘 중 하나를 선택해야 함

- 모든 노드들에 새로운 데이터를 반영하는 것은 상대적으로 긴 응답시간 이 필요하기 때문임

 

 

 

 

PACELC 이론에 기반한 NoSQL 유형

  • PACELC 이론에서는 장애 상황, 정상 상황에서 어떻게 동작하는지에 따라 시스템을 PC/EC, PC/EL, PA/EC, PA/EL 로 나눌 수 있음
장애상황 정상상황 유형 특성 구현 시스템
P+A E+L
  • 장애 상황 시 가용 노드만 반영, 복구 시 전체 반영
  • 정상 상황 시 Latency 우선 고려
  • PA 가능한 노드에만 데이터 반영, 복구 시 Eventual Consistency 적용
  • EL Latency 위해 모든 노드에 데이터를 반영 안함

Cassndra

DynamoDB

P+A E+C
  • 장애 상황 시 가용 노드만 반영, 복구 시 전체 반영
  • 정상 상황 시 모든 노드 동일 메시지 보장
  • PA 장애 상황일때 C를 포기 가능한 노드에만 데이터 반영
  • EC 모든 노드에서 같은 메시지를 볼 수 있도록 쓰기연산 수행
Hazelcast IMDG
P+C E+L
  • 장애 상황 시 Timeline Consistency 수준 보장
  • 정상 상황 시 Latency 우선 고려
  • PC 평소만큼의 C를 보장하기 위해 A를 희생
  • EL 평소에도 L을 위해 C를 희생(Timeline Consistency)
PNUTS
P+C E+C
  • 장애 상황 시 일관성 우선 보장
  • 정상 상황 시 모든 노드 동일 메시지 보장
  • PC 장애 상황일 때 C를 위해 A를 희생
  • EC 그렇지 않은 경우에도 C를 위해 L을 희생

VoltDB

HBase

 

 

 

 

 

[Top]

+ Recent posts