我使用的是cassandrajava驱动程序,fetch size设置为1k。我需要查询表中的所有记录,并对每一行执行一些耗时的操作。如果我将结果集保持打开(不是完全迭代)一天会发生什么?我不在乎的是:
一致性。如果在此期间有新唱片要写,我可以去拿。但是,如果我得不到它,我就没事了
容错性。如果在这个过程中某个节点会失败,那么如果查询也会失败,我也没问题。但是,我想从客户的Angular 来检测。
我关心的是:
cassandra资源利用率-我不想因为某些阻塞的资源而导致集群中断
迟到-我不想为该表的其他使用者阻塞(或减慢太多)集群
我想得到我开始查询时存在的所有记录(假设没有删除)。但是,它们不必是最新的
1条答案
按热度按时间9rnv2umw1#
分页状态是关于最后读取的数据的信息(字面上是序列化的分区键、集群和剩余数据)。当发送到协调器时,它将寻找比这更大的一切。因此,服务器中没有为此花费任何资源,与正常读取相比,也没有性能影响。
cassandra没有任何特性允许在单个查询中进行隔离。如果第一次和第二次查询时的数据发生了变化,您将获得最新的信息。