Apache Cassandra: требуется явная согласованность чтения / записи?

Моя компания использует Cassandra (2.1.8), работающую на серверах Debian.

Не устанавливая согласованность в моих запросах /prepareStatements, я иногда получал бы "ноль" из "SELECT * FROM table_name WHERE key = ?", После добавления:

statementGet.setConsistencyLevel(ConsistencyLevel.ONE);

Я получаю ответ каждый раз. Но из статьи ниже: Чтение / запись стратегии для уровня согласованности

Если вас не волнует последовательность, тогда это обсуждение является спорным; чтение / запись с любым уровнем согласованности, и пусть функции асинхронной репликации и антиэнтропии Cassandra выполняют свою работу. Тем не менее, хотя ваша цель состоит в том, чтобы минимизировать сетевой трафик / стоимость, если ваша рабочая нагрузка в основном читается, то дополнительная стоимость выполнения записи в CL QUORUM или ALL может фактически не быть такой большой.

Говорят, что мои уровни согласованности не имеют значения, если меня не волнует последовательность. А я нет Для меня не имеет большого значения, являются ли данные часами или днями. Но я забочусь о получении данных каждый раз.

Что мне нужно знать, так это: Нужно ли мне также устанавливать уровень согласованности для моих записей, чтобы гарантировать, что они действительно написаны, и что мое чтение всегда будет извлекать значение, если я что-то ранее написал.

И каким может быть этот уровень согласованности с учетом вышеуказанных критериев?

0 ответов

Другие вопросы по тегам