有没有办法通过 Cassandra 中的簇键有效地获取前 n 个最小的数据点?

Is there a way to efficiently get the top n smallest datapoints over the cluster key in Cassandra?

我知道对于 Cassandra 数据仅按分区键按簇键排序。

我想知道 Cassandra 是否对全局扫描进行了优化。假设集群键是一个整数值,如果我想搜索 Cassandra 集群上的所有数据以查找值 < 3 的集合。在遇到数字 >= 3 后,Cassandra 查询引擎将不需要继续查看分区中的集合。 Cassandra 是否提供了执行这些优化的 API(例如 CDK)?

分区键查询是Cassandra中最好的查询方式。如果你想使用集群键进行查询,那么你可以使用“ALLOW FILTERING”选项。 但建议不要在生产中使用“ALLOW FILTERING”。

为了完成扫描 table 和过滤一些数据,您可以使用 spark 来完成您的工作。为什么要打扰它不是为它设计的 C*,最好寻求它的朋友的帮助(在这种情况下为 spark)

没有可用于完整 table 扫描的本机 CQL 优化 -- 它们总是很糟糕,因为 Cassandra 针对 OLTP 工作负载进行了优化。

但是 spark-cassandra-connector 使用 Spark 对分析 (OLAP) 工作负载进行了优化。

OLTP 与 OLAP 截然不同,因此您必须使用正确的工具来完成工作。干杯!