这在我之前的帖子中没有重复 - 现在我想集中精力进行混合行更新。
两个客户端在由同一个密钥(RowA
和RowB
标识的两行上发送更新。行保持在同一列族中。这两个请求都具有相同的时间戳。
RowA:{col:"valA1"}, RowB:{col:"valB1"}
RowA:{col:"valA2"}, RowB:{col:"valB2"}
此类更新的结果是什么?
客户端是否可能获胜,因为我们在同一列系列中有更新?
是否可以使用混合结果 - 例如RowA:{col :"valA1"}, RowB:{col:"valB2"}
?
是否可以预测此类更新的结果?
答案 0 :(得分:1)
如果同一行/列的两个写入具有相同的时间戳,则通过比较列的字节值来打破平局,有关详细信息,请参阅CASSANDRA-1039。
在上面给出的示例中,client2的写入将获胜,因为客户端2正在写入大于客户端1的byte []的值。
正如其他人所指出的,这写,
RowA:{col:"valA1"}, RowB:{col:"valB1"}
与两次写入相同,
RowA:{col:"valA1"}
RowB:{col:"valB1"}