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 实现分页的正确方法

Cassandra 数据上的 TTL Remover

当数据增长时,带有分页的 Cassandra 查询第二个索引变得更慢

Cassandra 多个节点位于同一服务器上的不同数据中心

如何在 Cassandra 节点上实现数据本地化

使用各种数据类型的数据方案 Cassandra