我们将 Cassandra 用于 OLTP DB、存储 DB 事务并评估报告解决方案的需求。
我们正在评估使用 Cassandra 报告具有扁平模式的数据库。
使用 Cassandra 作为报告数据库的优点/缺陷是什么?
我们将 Cassandra 用于 OLTP DB、存储 DB 事务并评估报告解决方案的需求。
我们正在评估使用 Cassandra 报告具有扁平模式的数据库。
使用 Cassandra 作为报告数据库的优点/缺陷是什么?
建议考虑将 Spark 与 Cassandra 结合使用以实现 OLAP。
这是关于stackoverflow的相关帖子:
Cassandra 是用于 OLAP 还是 OLTP 或两者兼而有之?
这是类似用例的演示文稿:https ://www.slideshare.net/EvanChan2/breakthrough-olap-performance-with-cassandra-and-spark
Cassandra 没有连接和聚合,尽管有 UDAF ( https://docs.datastax.com/en/cql/3.3/cql/cql_using/useCreateUDA.html ),但在我看来,它们的限制很大。因此,取决于您的使用情况,如果您正在寻找可以让您在查询中具有灵活性的东西 - c* 不是答案(例如分析师的临时查询),因为您将始终需要客户端连接和聚合。对于预定义的报告,我想它可以工作。但是你应该非常小心分区的偏斜......
在 Cassandra 中,您几乎每次都应该为新查询创建一个新表。因此,做出决定实际上取决于您要开发的不同报告查询的数量。如果您的报告有许多不同的查询,您最终可能会维护许多 Cassandra 表。
此外,您应该考虑这些报告如何随时间变化。如果报告查询快速变化,您可能需要为这些变化创建新的 Cassandra 表。您可能需要将数据从旧 Cassandra 表移动到新 Cassandra 表。对于这些类型的任务,您需要在 Cassandra 节点上运行 Spark 作业。因此,您还需要学习和维护 Spark 代码。