Недавно я начал изучать Couchbase Server как кандидата для проекта. Конкретный сценарий, который я сейчас рассматриваю, заключается в том, как заставить Couchbase действовать как «источник правды», поэтому я копаюсь в аспекте долговечности.
Итак, вот фрагмент из ACID Properties и Couchbase:
Если требования к долговечности не выполняются, Couchbase все еще может сохранить документ и в конечном итоге распространить его по кластеру. Все, что мы знаем, это то, что это не удалось, насколько известно SDK. Вы можете действовать в соответствии с этой информацией, чтобы добавить в свое приложение дополнительные свойства ACID.
Так что представьте себе дальше. Я вставляю/обновляю документ, и первичный узел дает сбой, пока данные не попадут в любую реплику. Допустим, первички давно нет. На данный момент я не знаю, были ли данные записаны на диск... Самое страшное здесь то, что "Couchbase все еще может сохранить документ и в конечном итоге распространить его по кластеру". Это означает, что, насколько может судить клиент, данные не были отправлены, поэтому пользователь увидит ошибку, но затем она может внезапно появиться в системе, если первичный снова подключится к сети.
Я правильно читаю это утверждение? Если да, то как лучше всего справиться с этим с Couchbase?