据我所知,cassandra表中的一行是一组键值对(对应于每一列)
我在插入过程中发现一个奇怪的问题,值不会在几列中保留,但我相信它在插入之前有值。
如果我们稍后重试,它会偶尔发生并成功。我们怀疑某种竞争条件或数据库连接丢失等。
是否有可能只有一部分键被保存在一行cassandra表中? cassandra在保存期间是否保证全部或全部(行级一致性)
Cassandra版本:2.1.8
Datastax cassandra-driver-core:3.1.0
答案 0 :(得分:1)
在行级别上,并行保证在这个答案中有很多描述。
就你的问题而言。首先检查它是否真的是带有突变的cassandra
nodetool tpstats
如果你看到掉落的突变,那么你可能正在运行动力不足的设置,而你只需要为你面临的问题投入更多的硬件。
我可以告诉您的问题并没有更多。作为预防措施,请进入您的代码并检查您是否每次都在创建新的绑定语句,并且您没有重用创建的绑定语句实例。一旦客户遇到这个问题,插件就会在神秘的情况下丢失,就是这样。希望这对你有所帮助,如果没有,请给你一些代码。
答案 1 :(得分:0)
Cassandra中存在读写一致性级别。
看起来您正在使用一致性级别1,因此您的读/写不一致。尝试使用仲裁进行读取和写入,并查看问题是否已解决。
如果这没有帮助,请提供示例查询,群集大小,rf因子。