在编写场景之前,cassandra应该用于阅读吗?

Che*_*rry 1 java read-write cassandra

从cassandra规范段落之前的阅读告诉写入之前的读取对cassandra性能有一点影响.但存储引擎告诉cassandra本身在写入方案之前避免读取.

在我的情况下,我需要阅读行上的"see"并依赖条件将其写回.所以总的来说cassandra是否适用于这种场景?

Ste*_*ski 6

由于一致性问题,写入前读取通常被认为是Cassandra中的反模式.性能可能也会受到影响,但更重要的是,基于先前的读取修改数据永远不会安全,因为这些值可能同时由另一个进程更改.该存储引擎页面实际上解释了它相当不错.

你可以做的是使用CAS操作,或所谓的" 轻量级交易 ".每个CAS更新将基于条件,例如先前的值.这将确保仅在行的相关部分未更改时才应用更新.虽然LWT应该可以正常工作,但可扩展性和性能将比常规更新差很多.