据我了解,cassandra 表中的一行是一组键值对(对应于每一列)
我在插入过程中注意到一个奇怪的问题,值没有保留在几列中,尽管我相当有信心它在插入之前具有值。
这种情况偶尔发生,如果我们稍后重试就会成功。我们怀疑存在某种竞争条件或数据库连接丢失等。
是否可能只有键的子集保存在 cassandra 表的一行中? cassandra 是否保证保存期间全部或全部不保证(行级一致性)
Cassandra 版本:2.1.8
Datastax cassandra-driver-core:3.1.0
最佳答案
在行级别,此答案中对并发保证进行了详细描述。
就你的问题而言。首先检查它是否真的是删除突变的 Cassandra
nodetool tpstats
如果您看到突变丢失,则可能是您正在运行动力不足的设置,您只需添加更多硬件来解决您面临的问题即可。
从你的问题中我无法得知更多信息。作为预防措施,请进入您的代码并检查您是否每次都实际上创建了一个新的绑定(bind)语句,并且您没有重用创建的绑定(bind)语句实例。有一次,客户遇到了这样的问题:插入件在神秘的情况下丢失了,就是这样。希望这对您有帮助,如果没有,请提供一些您拥有的代码。
关于cassandra - cassandra 是否保证写入期间的行级一致性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41950061/