Предположим, я записал запись в кластер кассандры и сразу же прочитал ее.Как Кассандра может гарантировать, что я прочитал последний результат, который я только что написал? - PullRequest
0 голосов
/ 16 февраля 2019

предположим, что я записываю запись в кластер кассандры и сразу же читаю ее.Это может быть процесс записи еще не закончен. Как Кассандра может гарантировать, что я прочитал, является последним результатом, который я только что написал?

1 Ответ

0 голосов
/ 18 февраля 2019

Кассандра имеет настраиваемую последовательность.Вам решать, насколько вам нужна согласованность - всегда в зависимости от доступности.

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

Вы можете принудительно заставить Cassandra с помощью ConsistencyLevel.ALL заставить все узлы, удерживающие этот ключ разделения, подтвердить вашу запись и , чтобы заставить все узлы отправлять данные во время чтения.Это будет медленно, и вам лучше использовать СУБД.

Хорошим промежуточным способом является ConsistencyLevel.QUROUM.

https://docs.datastax.com/en/cassandra/3.0/cassandra/dml/dmlConfigConsistency.html

...