使用Cassandra进行OLAP

时间:2018-01-08 19:01:58

标签: cassandra nosql nosql-aggregation

我们正在使用Cassandra用于OLTP数据库,存储数据库事务以及评估报告解决方案的要求。

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

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

3 个答案:

答案 0 :(得分:2)

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

以下是stackoverflow上的相关文章:

Is Cassandra for OLAP or OLTP or both?

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

Cassandra没有加入和聚合,虽然有UDAF(https://docs.datastax.com/en/cql/3.3/cql/cql_using/useCreateUDA.html),但在我看来它们是相当有限的。 因此,如果您正在寻找可以灵活处理查询的内容,请依赖于您的使用情况 - c *不是答案(例如分析师的临时查询),因为您始终需要客户端加入和聚合。 对于预定义的报告,我想它可以工作。但你应该非常小心分区的偏斜......