Теорема CAP на самом деле немного обманчива. Тот факт, что у вас может быть дизайн CA, - это ерунда, потому что, когда возникает раздел, у вас обязательно возникает проблема, связанная с согласованностью (например, проблема синхронизации данных) или доступностью (задержка). Вот почему существует более точная теорема, гласящая, что:
Во время раздела в распределенной системе вы должны выбирать между согласованностью и доступностью.
Однако на практике все не так просто. Следует отметить, что выбор между согласованностью и доступностью не является двоичным. У вас даже может быть определенная степень и того, и другого. Например, что касается ACID, вы можете иметь атомарные и устойчивые транзакции с NoSQL, но потерять степень изоляции и согласованности для большей доступности. В таком случае доступность можно сравнить с задержкой, поскольку время отклика будет зависеть от нескольких факторов (доступен ли ближайший сервер?).
Итак, отвечая на ваш вопрос, это обычно маркетинговая чушь. Вам нужно поцарапать поверхность, чтобы увидеть, что именно дает решение, а что теряет.
Если вам нужны более подробные объяснения, вы можете посмотреть здесь, здесь или здесь.
person
LMeyer
schedule
27.05.2013