Как стать автором
Обновить

Комментарии 9

Может плохо читал, но не увидел что многие СУБД (та же Cassandra, Aerospike, Couchbase вроде бы тоже) предлагают Tunable Consistency с точностью хоть до каждого запроса. То есть можно в каких-то запросах просить систему быть более CA, чем CP/AP или наоборот.
Спасибо за уточнение. Про уровни консистентности и их отношение к Latency упомянул, а вот к CA/AP нет. Это как раз одна из основных идей статьи — нужно всё делать продуманно и исходя из потребностей проекта, а настройка СУБД уже позволит достичь тех или иных свойств.
Просто оставлю это здесь
https://martin.kleppmann.com/2015/05/11/please-stop-calling-databases-cp-or-ap.html
В этой статье есть ссылка на хабровский перевод. Опять-таки, «хватит называть» статья слишком категоричная и в статье https://habrahabr.ru/post/322276/ можно понять почему. Всё-таки называть базы CP/AP можно, просто с дополнительными пояснениями и в кругу знающих людей.
Проблема не в том, можно или нельзя называть. Вы можете Наполеоном себя называть, никто не запрещает. Проблема в том, что в инженерной среде CAP-теорема понимается неправильно (причём неправильно понимаются все 3 буквы), и в явном виде теорема далека до актуальных архитектур, trade-off и проблем современных инженерных систем, для понимания и принятия решения которых её пытаются применять.
Если же говорить о том, как стоит понимать и называть современные системы, почитайте современные научные публикации, пусть даже распиаренные вроде описания Google Spanner'а.
Я не рискну сейчас утверждать со стопроцентной уверенностью, но у меня сложилось впечатление, что ситуация с CAP-теоремой в чем-то похожа на аналогичную с теоремами Гёделя — есть строгая математическая теорема, которую допустимо применять в исчезающе малом числе случаев, что не мешает пытаться применять её везде подряд
Вы ведь сами привели перевод https://habrahabr.ru/post/258145/ где как раз показывается, что немного систем вообще можно рассматривать в терминах CAP. И это не плохо и не хорошо, это просто факт
Я бы сказал что эту теорему можно применять в любом случае, если понимаешь её термины и ограничения. Ошибочно будет применять её в чистом виде или не применять вообще.
Если возникает partition, вы не можете взаимодейстовать с системой (в основном случае)

Таким образом, система не может продолжать работу в случае partition, но обеспечивает strong consistency и availability. Это система CA!

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

А дело в том, что для availability достаточно локального взаимодействия, и локально с системой взаимодействовать можно!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории