【问题标题】:Is there a way to efficiently get the top n smallest datapoints over the cluster key in Cassandra?有没有办法在 Cassandra 的集群键上有效地获取前 n 个最小的数据点?
【发布时间】:2020-09-16 11:42:56
【问题描述】:

我了解对于 Cassandra,数据仅按分区键按集群键排序。

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

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    没有可用于全表扫描的原生 CQL 优化——它们总是很糟糕,因为 Cassandra 已针对 OLTP 工作负载进行了优化。

    不过,spark-cassandra-connector 对 Spark 的分析 (OLAP) 工作负载进行了优化。

    OLTP 与 OLAP 是天壤之别,因此您必须使用正确的工具来完成这项工作。干杯!

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2021-05-21
        • 2014-01-05
        • 2017-11-07
        • 2021-11-01
        • 2020-12-03
        • 1970-01-01
        • 1970-01-01
        • 2013-04-03
        • 1970-01-01
        相关资源
        最近更新 更多