ScholarGate
어시스턴트

CAP 정리와 일관성 모델

CAP 정리는 네트워크 분할에 직면한 분산 데이터 저장소가 일관성 또는 가용성 중 하나를 희생해야 한다고 명시하며, 일관성 모델은 시스템이 업데이트의 가시성과 순서에 대해 제공하는 보장을 정확히 지정합니다.

PaperMind(으)로 주제 찾기곧 제공Find papers & topics
Tools & resources
슬라이드 다운로드
Learn & explore
동영상곧 제공

Definition

CAP 정리는 네트워크로 연결된 공유 데이터 시스템이 일관성, 가용성, 분할 내성 중 최대 두 가지만 동시에 보장할 수 있다고 주장합니다. 일관성 모델은 복제본 간 읽기 및 쓰기의 순서와 가시성에 대해 애플리케이션이 관찰할 수 있는 내용을 지정하는 계약입니다.

Scope

이 주제는 CAP 정리와 그 형식화, 실제 트레이드오프가 네트워크 분할 중에만 발생한다는 실용적인 해석, 그리고 그 결과로 나타나는 PACELC 개선을 다룹니다. 또한 강력한(선형화 가능한) 일관성부터 인과적 일관성, 최종적 일관성에 이르는 일관성 모델의 스펙트럼과 ACID와 대조되는 BASE 스타일을 다룹니다. 이러한 모델이 복제된 데이터 저장소 설계에 어떻게 영향을 미치는지 설명합니다. 강력한 일관성을 구현하는 데 사용되는 합의 및 커밋 프로토콜은 분산 데이터베이스에서 다루므로 여기서는 제외합니다.

Core questions

  • CAP에서 일관성, 가용성, 분할 내성은 정확히 무엇을 의미합니까?
  • 일관성과 가용성 사이의 실제 선택이 분할 중에만 강제되는 이유는 무엇입니까?
  • 강력한 일관성, 인과적 일관성, 최종적 일관성은 보장에서 어떻게 다릅니까?
  • 최종적 일관성은 무엇을 약속하고 무엇을 약속하지 않습니까?
  • BASE 철학은 ACID와 어떻게 대조됩니까?

Key concepts

  • 일관성, 가용성, 분할 내성
  • 네트워크 분할
  • 선형화 가능성 / 강력한 일관성
  • 인과적 일관성
  • 최종적 일관성
  • PACELC
  • BASE 대 ACID
  • 충돌 해결

Key theories

CAP 정리
길버트와 린치에 의해 공식화된 CAP는 네트워크가 분할될 때, 복제된 저장소가 오래된 데이터를 반환하는 것(가용성)과 단일 일관된 값을 유지하기 위해 서비스 거부(일관성) 중 하나를 선택해야 함을 보여줍니다. 실제 네트워크에서는 분할 내성이 선택 사항이 아닙니다.
일관성 스펙트럼
일관성 모델은 읽기가 항상 최신 쓰기를 보는 강력한(선형화 가능한) 일관성부터, 인과 관계 순서를 유지하는 인과적 일관성, 그리고 새로운 쓰기가 없을 때 복제본이 시간이 지남에 따라 수렴하는 최종적 일관성까지 다양합니다.
BASE 대 ACID
고가용성 시스템은 종종 BASE 스타일(기본적으로 가용하며, 소프트 상태이고, 최종적으로 일관됨)을 채택하여, 분할 상황과 대규모 환경에서 응답성을 유지하기 위해 강력한 ACID 보장을 의도적으로 완화합니다.

Clinical relevance

CAP 및 일관성 모델은 분산 데이터 시스템의 핵심 설계 선택을 구성합니다. 즉, 네트워크 장애 발생 시 항상 응답하는 것(가용성)과 항상 올바르게 응답하는 것(일관성) 중 어느 것을 우선시할 것인지에 대한 결정은 모든 전역 분산 애플리케이션의 동작과 보장을 형성합니다.

History

에릭 브루어(Eric Brewer)는 2000년경 CAP 트레이드오프를 추측했으며, 길버트(Gilbert)와 린치(Lynch)는 2002년에 이를 공식적으로 증명했습니다. 아마존의 다이나모(Dynamo, 2007)와 보겔스(Vogels)의 2009년 에세이는 최종적 일관성을 실용적으로 대중화했습니다. 브루어의 2012년 회고록은 CAP가 분할 중에만 완벽한 일관성과 가용성을 금지한다는 점을 명확히 했으며, PACELC 공식은 나중에 분할이 없는 경우의 지연 시간-일관성 트레이드오프를 추가했습니다.

Debates

일관성-가용성 트레이드오프의 근본성
초기 해석은 CAP가 일관성과 가용성 사이의 영구적인 선택을 강요한다고 보았지만, 브루어의 회고록을 포함한 후기 분석은 트레이드오프가 분할 중에만 발생하며, 그 외의 경우에는 시스템이 대체로 일관되고 가용할 수 있다고 주장하여 CAP가 설계에 미치는 제약을 재구성했습니다.

Key figures

  • Eric Brewer
  • Seth Gilbert
  • Nancy Lynch
  • Werner Vogels

Related topics

Seminal works

  • gilbert2002
  • brewer2012
  • vogels2009

Frequently asked questions

CAP는 세 가지 속성 중 두 가지만 가질 수 있다는 의미입니까?
인기 있는 '두 가지 선택'이라는 표현은 오해의 소지가 있습니다. 분산 시스템에서 분할 내성은 실제로 선택 사항이 아니므로, 진정한 선택은 일관성과 가용성 사이이며, 이 선택은 분할이 실제로 발생하고 있는 동안에만 이루어져야 합니다. 네트워크가 정상일 때는 시스템이 일관성과 가용성을 모두 제공할 수 있습니다.
최종적 일관성은 실제로 무엇을 보장합니까?
데이터 항목에 새로운 업데이트가 이루어지지 않으면 모든 복제본이 결국 동일한 값으로 수렴할 것을 보장합니다. 언제 수렴할지, 또는 읽기가 가장 최근의 쓰기를 반영할지는 보장하지 않으므로, 최종적 일관성을 사용하는 애플리케이션은 일시적으로 오래되거나 충돌하는 읽기를 허용해야 하며 종종 충돌 해결을 스스로 처리해야 합니다.

Methods for this concept

Related concepts