代码之家  ›  专栏  ›  技术社区  ›  Amit Kaneria

将Cassandra用于OLAP

  •  9
  • Amit Kaneria  · 技术社区  · 6 年前

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

    我们正在评估使用Cassandra报告具有扁平模式的数据库。

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

    3 回复  |  直到 6 年前
        1
  •  8
  •   Alex M981    6 年前

    建议考虑将Spark与Cassandra结合用于OLAP。

    以下是有关stackoverflow的相关帖子:

    Is Cassandra for OLAP or OLTP or both?

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

        2
  •  2
  •   burak ibrahim sevindi    6 年前

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

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

        3
  •  2
  •   Lior Chaga    6 年前

    Cassandra没有联接和聚合,尽管有UDAFs( https://docs.datastax.com/en/cql/3.3/cql/cql_using/useCreateUDA.html ),但在我看来,它们是相当限制的。 因此,根据您的使用情况,如果您正在寻找能够让您在查询中具有灵活性的内容,c*不是答案(例如,分析员的特殊查询),因为您总是需要客户端连接和聚合。 对于预定义的报告,我想它可以工作。但您应该非常小心分区的倾斜度。。。