Cassandra行级隔离

Job*_*obs 1 transaction-isolation cassandra

我有一个在cql中创建的表:

create table isolation_demo(key text,column1 text,column2 text,column3 text ,primary key(key,column1,column2));
Run Code Online (Sandbox Code Playgroud)

我批量发表了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;
Run Code Online (Sandbox Code Playgroud)

这两个语句共享相同的分区键.(key = 1),但不同的聚类列值.这两个陈述是否会被孤立?

shu*_*tty 5

必须隔离这些查询,如此此处的 C*文档中所述:

在Cassandra的早期版本中,当一个用户更新行而另一个用户正在读取同一行时,可以看到连续的部分更新.例如,如果一个用户正在编写一个包含两千列的行,则另一个用户可能会读取同一行并查看某些列,但如果写入仍在进行中,则不能全部读取所有列.

完整的行级隔离已经到位,这意味着对行的写入与执行写入的客户端隔离,并且在完成之前对任何其他用户都不可见.