在cassandra中,有没有一种方法可以有效地通过集群密钥获取前n个最小的数据点?

y53ybaqx  于 2021-06-09  发布在  Cassandra
关注(0)|答案(2)|浏览(261)

我知道对于cassandra来说,数据是按集群键排序的,只按分区键排序。
我想知道Cassandra是否对全局扫描进行了优化。假设cluster键是一个整数值,如果我想搜索cassandra集群上的所有数据以找到具有值的集合 < 3 . cassandra查询引擎在遇到一个数字之后不需要继续查看分区中的集合 >= 3 . 有没有cassandra提供的api(比如cdk)来执行这些优化?

iyzzxitl

iyzzxitl1#

没有一个本机的cql优化可用于全表扫描——它们总是不好的,因为cassandra是针对oltp工作负载优化的。
不过,spark cassandra connector对spark的分析(olap)工作负载进行了优化。
oltp和olap是天壤之别,因此您必须使用合适的工具来完成这项工作。干杯!

lp0sw83n

lp0sw83n2#

在cassandra中,按分区键查询是最好的查询方式。如果您想使用集群键进行查询,那么您可以使用“允许过滤”选项。但建议不要在生产中使用“允许过滤”。
为了扫描整个表并过滤一些数据,您可以使用spark来完成您的工作。为什么要费心c*呢?它不是为它而设计的,最好是得到它的朋友的帮助(在这个例子中是spark)

相关问题