ACID와 CAP 정리의 일관성은 동일합니까?


18

내 이해에서 ACID의 일관성은 데이터 무결성을 보장합니다.

그러나 CAP의 일관성은 분산 시스템에서 데이터가 빠르게 나타날 수 있음을 의미합니다.

그것은 같은 개념이 아닙니까?

답변:


18

데이터의 범위 때문에 실제로 동일하지 않습니다.

  • 일관성 (모든 노드는 최종 일관성을 통해 동일한 데이터를 가짐)
  • 유효성
  • Partition-Tolerance : 시스템의 임의 메시지 손실 또는 장애에도 불구하고 시스템 작동

개요

  • ACID는 개별 노드의 데이터 일관성을 해결합니다
  • CAP는 클러스터 전체의 데이터 일관성을 해결합니다

1
어쩌면 일어날 수도 있는. 결국 롤란도는 굵게 표시되었을 것입니다. 그것은 거래 차단기입니다 :) 새해 복 많이 받으세요!
Philᵀᴹ

3

CAP 정리 : 분산 시스템이 두 가지 서비스 (예 : 가용성 및 파티션 허용 오차)를 제공 할 수 있지만 절대 세 가지를 제공하지 않도록 지정합니다. 예를 들어, 서비스가 가용성 및 파티셔닝을 제공하는 경우 즉시가 아니라 일관성을 보장 할 수 없으므로 최종 일관성이 사용되므로 인프라가 불일치와 일관성 사이에서 변화 할 수 있지만 어느 시점에서 조만간 인프라가 일관되게됩니다 결과적으로 일관성이 유지됩니다. 클라우드 서비스는 이러한 방식으로 작동하며 Amazon Simple DB는 최종 일관성을 사용합니다.

ACID 기능은 일반적으로 관계형 DB에 적용됩니다. 분산 방식 (분산 DB)으로 ACID를 적용하려는 경우 ACID는 2PC (2 단계 커밋)를 사용하여 파티션간에 일관성을 유지합니다. 그러나 ACID는 일관성과 파티셔닝을 제공하므로 (분산 환경)에 CAP 정리를 적용하면 가용성이 저하 될 수 있습니다.

이 때문에 ACID로는 얻을 수없는 확장 성 수준을 제공 할 수있는 BASE (기본적으로 사용 가능한 소프트 상태, 결국 일관성있는)가 사용됩니다.

도움이 되었기를 바랍니다.


-1

CAP 정리의 일관성과 관련하여 Julian Brown은 자신의 기사 ( http://www.julianbrowne.com/article/brewers-cap-theorem )에 다음과 같이 씁니다 .

일관된 서비스는 완전히 작동하거나 전혀 작동하지 않습니다. Gilbert와 Lynch는 증거에서 일관성 대신 "원자"라는 단어를 사용합니다. 이는 엄밀히 말하면 데이터베이스 트랜잭션의 이상적인 속성에 적용된 ACID의 C가 엄격하고 일관성이 있기 때문에 기술적으로 더 의미가 있습니다. 사전 설정된 특정 제약 조건을 위반합니다. 그러나 동일한 데이터 조각에 대해 여러 값이 허용되지 않는 분산 시스템의 사전 설정된 제약 조건으로 간주하면 추상화의 누출이 막힌 것으로 생각됩니다 (또한 Brewer가 원 자라는 단어를 사용한 경우 AAP라고합니다) 정리와 발음을 시도 할 때마다 우리는 모두 병원에 입원합니다).

따라서 CAP 의 C 는 ACID 의 A 에 해당합니다 .

함께 길버트와 린치 그는 기사를 의미한다 "맥주의 추측과 일관성, 가능한 파티션을 허용 웹 서비스의 가능성 세스 길버트와 낸시 린치"


1
CAP 일관성은 분산 시스템에 적용되는 반면 ACID는 해당 레벨의 시스템 아키텍처에서 추상화됩니다. ACID 원 자성을 구현하려면 CAP 일관성이 필요할 수 있지만 동일하지는 않습니다.
mustaccio

Brewer는 자신이 CAP 정리를 ACID ( people.eecs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf 2 & 3) 와 관련하여 자신의 CAP 정리를했기 때문에 양자 모두.
white_gecko
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.