Почему C в теореме CAP не совпадает с C в ACID? - PullRequest
4 голосов
/ 27 января 2011

Мой вопрос довольно прост, я искал более простой ответ: почему C в теореме CAP не совпадает с C в ACID?

Читать это HN поток.

Обновление

Руководство автостопом по NOSQL v1.0 , слайд 71 гласит: C в CAP = A + C (атомарная согласованность)

Ответы [ 2 ]

4 голосов
/ 27 января 2011

Оба C означают согласованность, но понятие согласованности в CAP означает, что «все узлы видят одни и те же данные одновременно», а понятие согласованности в ACID означает, что «любая транзакция, которую выполняет база данных, будет принимать ее от одного последовательное состояние другому ». (Из Википедии.)

1 голос
/ 16 октября 2012

Вы не можете иметь значимой последовательности без атомарности. Вот почему теорема CAP определяет C так, как он это делает.

Представьте себе этот простой сценарий:

Существует база данных с двумя учетными записями. В нашей базе данных нет денег. Просто деньги на двух счетах. В базе данных деньги перемещаются с одного счета на другой.

Без атомарности пользователь может прочитать данные, когда деньги были списаны с одного счета, а еще не записаны на другой. В этом случае общая сумма двух учетных записей будет варьироваться от чтения к чтению, что должно быть невозможным, поскольку «новые» деньги не покидают базу данных и не входят в нее.

Говорить о согласованности любым другим способом - все равно, что думать о булевом Java как о «почти» истинном, в то время как остальной мир читает его как ложное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...