2011-01-27 3 views

답변

3

모두 C의 일관성 스탠드하지만, CAP의 일관성의 개념은 "모든 노드를 의미 동시에 같은 데이터를 봅니다. "ACID의 일관성 개념은"데이터베이스에서 수행하는 모든 트랜잭션은 하나의 일관된 상태에서 다른 상태로 전환합니다 "를 의미합니다. (위키 피 디아 출품자)

1

원 자성이 없으면 의미있는 일관성을 유지할 수 없습니다. 이것이 CAP 정리가 C를 정의하는 이유입니다.

간단한 시나리오를 생각해보십시오.

두 개의 계정이있는 데이터베이스가 있습니다. 우리의 데이터베이스에는 돈이 들어오지 않습니다. 두 계좌에 돈이 있습니다. 데이터베이스에서는 돈이 한 계정에서 다른 계정으로 이동합니다.

원 자성이 없으면 사용자는 하나의 계정에서 금액이 차감되지 않은 상태에서 다른 계정에 금액이 인출되면 데이터를 읽을 수 있습니다. 이 경우 두 계정의 총액은 읽기에서 읽기까지 다양하며 "새로운"금액이 데이터베이스를 떠나거나 입력하지 않아야하므로 불가능해야합니다.

다른 방식으로 일관성에 대해 이야기하는 것은 자바 부울을 "거의"사실로 생각하는 것과는 달리 세계의 나머지 부분을 거짓으로 간주하는 것과 같습니다.

+1

내가 위에 답한 것 이외에도, "궁극적 인 일관성"과 같은 "일관성"의 다른 유형에 관해서 여기에서 당신이 황제가 알몸이라고 부르면. 문제를 "이름을 변경"하려는 개발자에게 보고서가 잘못된 금액을 읽는 이유를 고객에게 설명하는 것은 당황 스럽습니다. 언젠가 진실은 간단하고 가혹합니다. 일관성이 수평으로 확장되지 않고 크기 조정이 유행이 아니기 때문에 새로운 유형의 "일관성"이 도입되었습니다. 불행히도 (또는 다행스럽게도) 자연, 수학 및 물리학은 인간 패션을 존중하지 않습니다 (갈릴레오의 적에게 물어보십시오). –

관련 문제