Читая Визуальное руководство по системам NoSQL Натана Херста, он включает треугольник CAP
:
C
постоянствоA
доступностьP
artition Допуск
SQL Server — это система AC
, а MongoDB — система CP
.
Эти определения взяты из профессора Калифорнийского университета в Беркли Эрика Брюэра и его выступления на PODC 2000 (Принципы распределенных вычислений):
Доступность
Доступность означает именно это - услуга доступна (работает полностью или нет, как указано выше). Когда вы покупаете книгу, вы хотите получить ответ, а не какое-то сообщение браузера о том, что веб-сайт некоммуникабельный. Гилберт и Линч в своем доказательстве теоремы CAP делают хороший вывод о том, что доступность чаще всего покидает вас, когда она вам больше всего нужна — сайты имеют тенденцию отключаться в периоды занятости именно потому, что они заняты. Услуга, которая доступна, но к которой нет доступа, никому не нужна.
Что в контексте MongoDB или BigTable означает, что система недоступна?
Вы пытаетесь подключиться (например, через TCP/IP), а сервер не отвечает? Вы пытаетесь выполнить запрос, но запрос никогда не возвращается или возвращает ошибку?
Что значит означает быть недоступным?