나는 CAP 정리에 관한 많은 기사를 읽었습니다. 나는 A, C, P가 의미하는 바를 이해하고, 네트워크 통신 문제가있을 때 우리가 무엇을 할 수 있는지 이해합니다."가용성"이 CAP 정리에서 어떻게 작동하는지. AP inside inside
결론적으로우리가 그러한 경우가 있습니다
두 개의 노드가 클러스터의 통신 문제가있는 경우 : 지금이 순간
, 문제가 발생하면, 우리는 (노드가 동기화 될 수 있도록 할 수 있습니다 일관성 포기) 또는
이 순간에 문제가 발생하면 잠시 동안 노드를 비활성화하십시오 (가용성을 포기 - 통신 문제가 감지 된 노드에서 읽기/쓰기를 비활성화). 이 사용
우리는 이러한 경우가 있습니다
1) CA - 통신 문제가 발생하는 경우 우리는 "가용성"을 가지고 우리가 문제가있는 노드를 해제하지 않기 때문에, 데이터가 동기화되지. 그러나 동기화가 시작되어 통신이 해결됩니다.
2) CP - 통신 장해가 발생한 경우, 노드는 중지 할 것이다 (읽기/쓰기)이이 노드에
3) AP가 이루어 질수 - 통신 장해가 발생하면, 데이터는 또한 동기화된다. 하지만 C가 없으므로 동기화 후 데이터가 동일하게 유지된다는 보장이 없습니다.
AP가 분명하지 않아서, 동기화 후 데이터가 동일하게 보장되지 않는 이유는 무엇입니까? 나는 CAP 이론이 우리에게 이것을 알려주고 C를 가지고 있지 않기 때문에 이것을 알 수 있습니다. 그러나 이것은 충분하지 않습니다. 이것은 기술적으로 실제로 일어나는 일을 우리에게 알려주지 않습니다 ...
이것은 구현에 달려 있기 때문에 광범위한 질문입니다. 카산드라는 예를 들어 [read repair] (http://wiki.apache.org/cassandra/ReadRepair)를 사용합니다. 브루어 (Brewer)는 또한 전반적인 복구에 대해서도 이야기했다. (http://www.infoq.com/articles/cap-twelve-years-later-how-the-rules-have-changed) ("파티션 복구"참조) – LMeyer
현재 CP와 AP가있는 DB가 있습니까? – grep
내 anwser 다른 [질문] 참조 (http://stackoverflow.com/questions/16779348/does-the-cap-theorem-imply-that-acid-is-not-possible-for-distributed-databases/16779594# 16779594). 그러나 일부는 구글 스패너라고하지만 우리는 구글이 아니기 때문에 ... – LMeyer