Как визуализировать атомарность в Кассандре? - PullRequest
0 голосов
/ 11 октября 2018

Согласно этот документ dasastax doc Атомность в Cassandra:

В Cassandra запись является атомарной на уровне раздела, что означает вставку или обновление столбцов встрока рассматривается как одна операция записи.

В соответствии с этот документ datastax doc Атомарность в Кассандре:

В Кассандре,Операция записи является атомарной на уровне раздела, то есть вставки или обновления двух или более строк в одном разделе обрабатываются как одна операция записи.

Myпутаница заключается в том, что атомарность видна только на одной строке или в нее может входить несколько строк таблицы на уровне раздела?

Я предполагаю, что это комбинация обоих типов в зависимости от типа запроса, который мывыполняются в Cassandra.

Например:

Если у меня есть запрос на вставку, он всегда будет вставлять одну строку в раздел.Таким образом, Cassandra гарантирует, что эта строка успешно вставлена ​​на уровне раздела.

Но если у меня есть запрос на обновление, у которого условие where имеет условие, которое квалифицирует несколько строк, то операция обновления является атомарной на уровне раздела, означает, что либо все квалифицированные строки согласно условию будут обновлены, либо ни одна не будет.

Правильно ли мое понимание?

1 Ответ

0 голосов
/ 11 октября 2018

«строка» и «раздел» объединяются, поскольку ранее строка означала раздел, а теперь строка означает часть раздела.

Они являются атомарными по отношению к разделу.Имейте в виду, что это относится к одной реплике, поэтому одна или несколько строк в пакете, содержащем 5 столбцов, обновляются в одной операции на одной реплике (без изоляции между узлами).Если ваш параметр (key, value) VALUES ('abc', 'def'), вы никогда не увидите только key, а не набор value.Тем не менее, вы можете сделать чтение, и только 1 реплика имеет его, а другие нет.То есть, в зависимости от вашего фактора репликации и запрошенного уровня согласованности, вы либо увидите все, либо ничего.Это также может применяться к нескольким строкам в разделе, но вы не можете обновить 2 строки одним оператором обновления без пакета (зарегистрированного или незафиксированного).

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