Cassandra数据库上数据分析的替代方案
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cassandra数据库上数据分析的替代方案相关的知识,希望对你有一定的参考价值。
我们需要对Cassandra数据库执行分析和报告。
以下是我们迄今已确定的方法。
1)在cassandra顶部使用火花。
缺点 :
- 我们将大量使用聚合函数和cassandra,因为数据是按行键分区的。如果groupby行与我们的行键匹配,则性能会很差。
- 没有开箱即用的UI用于显示报告的火花
- 它需要一个程序员(java / scala / python)来添加/修改未来 导致高维护成本的要求
2)将数据移至红移并在其上执行分析。
- 这对于我们的聚合查询非常有效,因为redshift是柱状数据库。
- 能够在redshift中创建表时根据我们的分析查询指定排序和分发
- UI合作伙伴可用于报告
- 特殊查询支持SQL(减少维护)
缺点 :
- 我们需要将数据从cassandra移动到redshift。我们已经确定AWS Firehose为我们这样做了。随着写入cassandra,我们也会写入firehose流,它将为我们写入redshift。
- 涉及redshift和Firehose的AWS成本。
到目前为止,我们倾向于红移。我的假设是否有任何错误。?有没有替代品?
答案
使用Cassandra的Spark可能是更常见的选择。值得注意的两点是:a)你可以使用Spark在内存中缓存RDD,2)Spark SQL工作正常,你不需要使用Spark的编程语言。
以上是关于Cassandra数据库上数据分析的替代方案的主要内容,如果未能解决你的问题,请参考以下文章
使用 Spring Data 中的 CassandraRepository 为 Cassandra 实现分页的正确方法