cassandra规范中的Reading before writing段落告诉您,先写后读对cassandra的性能影响不大。但是storage engine告诉cassandra自己避免在写之前进行读。

在我的情况下,我需要读取行“ see”,并视情况写回。因此,总的来说,卡桑德拉是否适合这种情况?

最佳答案

由于一致性问题,在Cassandra中,先写后读通常被认为是反模式。性能也可能会受到影响,但更重要的是,基于以前的读取来修改数据绝不是安全的,因为这些值可能同时被另一个过程更改了。 storage engine页实际上对其进行了很好的解释。

您可以做的是使用CAS操作,即所谓的“ light weight transactions”。每次CAS更新将基于条件,例如先前的值。这将确保仅在行的相关部分未更改的情况下应用更新。尽管LWT应该可以正常工作,但是可伸缩性和性能将比常规更新差很多。

关于java - 在编写脚本之前,应该在阅读中使用cassandra吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31854337/

10-14 12:13
查看更多