由于数据量和速度的原因,在我们的情况下将数据写入Cassandra而不会导致它创建墓碑是至关重要的.目前我们只写了一次,然后再也没有需要再次更新行,只是再次获取数据.
现在有一种情况,我们实际上需要编写数据,然后用更多的数据完成它,一段时间后就完成了.它可以由任何一个制成;
使用INSERT(所有数据都可用)再次覆盖连续的所有数据,或
仅对新数据执行更新.
什么是最好的方法,牢记速度而不是创建墓碑是重要的?
有人可以解释一下,以下过程对墓碑有什么影响:
1.)使用键"1"创建"行"("字段":用户,密码,日期)
2.)用键"1"删除"行"
3.)使用键"1"创建"行"("字段":用户,密码,logincount)
序列在一个线程中顺序执行(因此这会以相对较高的"速度"=在动作之间没有长暂停).
我的问题:
1.)这对墓碑的创建有什么影响.在2.)创建/存在墓碑之后.但是,如果在同一个键下再次创建新的(略微更改的行)(在流程步骤中3.)),现有的逻辑删除会发生什么.cassandra可以非常有效地"恢复"墓碑吗?)
2.)与仅仅非常有针对性地删除date"字段"然后创建" logincount"字段相比,上述过程有多糟糕?(它很可能性能更高.但相反,要找出哪些字段已被删除比仅仅删除整行并从头开始使用正确的数据重新创建它要复杂得多......)
备注/更新:
我真正想要做的是,将"date"字段设置为null.但这在cassandra中不起作用.值不允许为空.因此,如果我想将其设置为null,我必须将其删除.但是我担心这个明确的第二次删除请求会产生负面的性能影响(相比之下只是将其设置为null)......如上所述,我必须首先找出哪些字段是无效的,并且最重要的是有一个值(我必须比较此状态的所有属性...)
非常感谢你!马库斯