Обеспечивает ли Cassandra согласованность чтения после записи для одного узла? - PullRequest
0 голосов
/ 26 мая 2018

На одном узле Кассандра, если я выполню

write(key=A, value=3)
write(key=A, value=5)
a_value = read(key=A)

, будет a_value 3 или 5?Или, другими словами, гарантирует ли Cassandra согласованность чтения после записи, где мы всегда видим самое последнее значение?

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

Да, если последовательность запросов на чтение и запись - Запись-> Чтение.Если ваш запрос является синхронным (session.execute), это означает, что вы ожидаете ответа на свой запрос на запись и после получения успешного ответа выполняете запрос на чтение, тогда да, вы получите самое последнее значение.Поскольку для одного узла данные не распределяются между несколькими узлами, таким образом, не нужно беспокоиться о поддержании согласованности.

0 голосов
/ 26 мая 2018

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

...