Cassandra数据库上数据分析的替代方案

问题描述 投票:2回答:1

我们需要对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 amazon-redshift spark-cassandra-connector amazon-kinesis-firehose
1个回答
1
投票

使用Cassandra的Spark可能是更常见的选择。值得注意的两点是:a)你可以使用Spark在内存中缓存RDD,2)Spark SQL工作正常,你不需要使用Spark的编程语言。

© www.soinside.com 2019 - 2024. All rights reserved.