在我的输入中,我有一个键,范围R1的下限,范围R1的上限。和一些数据。我必须在确保我的输入范围R1不应与cassandra中已存在的任何其他当前范围重叠之后插入此数据。
因此,在每次插入之前,我必须触发一个选择查询
key | lowerbound | upperbound | data
------+------------+------------+------------------------------------------------------------------------
1024 | 1000 | 1100 | <blob>
1024 | 1500 | 1900 | <blob>
1024 | 2000 | 2900 | <blob>
1024 | 3000 | 3900 | <blob>
1024 | 4000 | 4500 | <blob>
Case1 Given Range R(S,E)=(1,999)
This is a positive case hence system should Insert the data
Case2: Given Range R(S,E)=(1001,1010)
this is a Negative case hence system should discard the data
我有一个范围查询和一个程序化检查解决方案的解决方案
请告诉我这种问题陈述是否在Cassandra中有解决方案,如果是,可以对其进行优化以获得更好的性能
答案 0 :(得分:0)
您没有更好的解决方案来解决您的问题:这是唯一的方法。可能在未来轻量级交易也可能对这些情况有所帮助,但现在唯一的解决方案是在写之前阅读。还有一个考虑因素:确保避免在并发情况下双重插入(如果在您的应用程序中可能发生这种情况)。
干杯, 卡罗