将Cassandra ResultSet保持打开一段时间的含义

时间:2018-09-18 12:20:46

标签: cassandra

我正在使用提取大小设置为1k的Cassandra Java驱动程序。我需要查询表中的所有记录,并对每一行执行一些耗时的操作。 如果我将ResultSet保持打开状态(未完全迭代)一天会发生什么? 我不在乎的是:

  • 一致性。如果在此期间会写一些新记录,则可以获取。但是,如果我不明白的话,我很好
  • 容错能力。如果在该过程中某个节点将失败,则查询也将失败也很好。但是,我想从客户的角度进行检测。

我关心的是什么

  • Cassandra资源利用率-我不想由于某些资源阻塞而导致群集中断
  • 迟来-我不想阻止(或减慢)该表的其他使用者的群集
  • 我想获取启动查询时存在的所有记录(假定没有删除)。但是,它们不必是最新的

1 个答案:

答案 0 :(得分:4)

分页状态是有关最后读取的数据(字面序列化的分区键,群集和剩余)的信息。当发送给协调员时,它将寻找比这更大的一切。因此,与普通读取相比,服务器中没有资源用于此目的,也没有影响性能。

Cassandra没有任何允许隔离的功能,即使在单个查询中也是如此。如果第一个查询和第二个查询的数据已经更改,您将获得最新信息。