2012-01-12 89 views
1

使用hector Mutator我更新N连续操作的某一行。有没有担保,变更是按照他们添加到Mutator的顺序发生的?hector/cassandra如何处理顺序操作?

最简单的例子,如果我删除一些行然后立即重新创建它。难道不会发生,删除发生后插入?

如果两个连续的请求被发送到不同的节点,cassandra集群如何管理它?总是有可能节点之间有几毫秒的差异...

回答

3

Cassandra使用客户端提供的时间戳解决冲突。在你的例子中,行的“重新创建”将比行删除有更高的时间戳,所以不管他们以错误的顺序到达服务器都没关系。

客户端提供的时间戳的一个结果是,您需要同步客户端计算机上的时钟或设计数据模型,以便不同的客户端不会相互冲突。