【问题标题】:Using Cassandra for OLAP使用 Cassandra 进行 OLAP
【发布时间】:2018-06-17 19:12:27
【问题描述】:

我们将 Cassandra 用于 OLTP DB、存储 DB 事务并评估报告解决方案的要求。

我们正在评估将 Cassandra 用于具有扁平架构的报告数据库。

使用 Cassandra 作为报告数据库有哪些优势/缺陷?

【问题讨论】:

    标签: cassandra nosql nosql-aggregation


    【解决方案1】:

    建议考虑将 Spark 与 Cassandra 结合使用以实现 OLAP。

    这是关于stackoverflow的相关帖子:

    Is Cassandra for OLAP or OLTP or both?

    这是类似用例的演示文稿:https://www.slideshare.net/EvanChan2/breakthrough-olap-performance-with-cassandra-and-spark

    【讨论】:

    • 仅建议将 OLAP 和 OLTP 服务器分开到单独的数据中心。
    【解决方案2】:

    在 Cassandra 中,您几乎每次都应该为新查询创建一个新表。因此,做出决定实际上取决于您要开发的不同报告查询的数量。如果您对报表有许多不同的查询,您最终可能会维护许多 Cassandra 表。

    此外,您应该考虑这些报告如何随时间变化。如果报告查询快速变化,您可能需要为这些变化创建新的 Cassandra 表。您可能需要将数据从旧 Cassandra 表移动到新 Cassandra 表。对于这些类型的任务,您需要在 Cassandra 节点上运行 Spark 作业。所以你还需要学习和维护 Spark 代码。

    【讨论】:

      【解决方案3】:

      Cassandra 没有连接和聚合,虽然有 UDAF (https://docs.datastax.com/en/cql/3.3/cql/cql_using/useCreateUDA.html),但在我看来它们的限制很大。 因此,取决于您的使用情况,如果您正在寻找可以让您在查询中具有灵活性的东西 - c* 不是答案(例如分析师的临时查询),因为您将始终需要客户端连接和聚合。 对于预定义的报告,我想它可以工作。但是你应该非常小心分区的偏斜......

      【讨论】:

        猜你喜欢
        • 2015-04-24
        • 2012-06-23
        • 2019-04-08
        • 2023-03-13
        • 2015-11-09
        • 1970-01-01
        • 1970-01-01
        • 2011-02-01
        • 2015-02-22
        相关资源
        最近更新 更多