我有一个广泛的列族用作“时间线”索引,其中列名是时间戳。为了防止热点,我按月对 CF 进行分片,以便每个月在 CF 中都有自己的行。
我在 CF 中查询两个日期之间的切片范围,并根据每页的页面记录限制返回的列数,例如 10。
问题是,如果我的日期范围跨越几个月,我会从每行返回 10 列,即使第一行中有 10 个匹配列 - 从而满足我的分页要求。
我可以看到其中的逻辑,但是当我只需要前 10 个匹配列而不管它们跨越多少行时,如果我必须从潜在的多个节点检索冗余记录,这让我觉得效率非常低。
所以我的问题是,如果我的第一次调用没有返回 10 条记录,我最好在第一行执行一个 Get 操作,然后在第二行执行另一个 Get 操作并继续,直到我获得所需的编号。记录数(或达到行数限制),还是只接受冗余并转储不需要的记录?