2015-06-04 5 views
1

У меня есть таблица, созданная в CQL:Кассандра изоляции на уровень строк

create table isolation_demo(key text,column1 text,column2 text,column3 text ,primary key(key,column1,column2)); 

У меня 2 заявления в партии.

update isolation_demo set column3 ='ABC' where key =1 and column1 =1 and column2=1; 
delete from isolation_demo where key =1 and column1 =2 and column2=2; 

Здесь оба оператора имеют общий ключ раздела. (ключ = 1), но разные значения столбцов кластеризации. Будут ли выделены эти 2 заявления?

ответ

5

Эти запросы должны быть изолированы, как указано в C * документы here и here:

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

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