【发布时间】:2016-10-22 03:36:43
【问题描述】:
我们需要对 Cassandra 数据库执行分析和报告。
以下是我们迄今为止确定的方法。
1) 在 cassandra 上使用 spark 。
缺点:
我们将大量使用聚合函数并在 cassandra 中作为 数据按行键分区。如果 groupby 行数量匹配 使用我们的行键,性能会很差。
没有开箱即用的 UI 用于显示报告的 spark
它需要一个程序员(java/scala/python)来添加/修改未来
导致维护成本高的要求
2) 将数据移至红移并在其上执行分析。
这对我们的聚合查询很有效,因为 redshift 是 列式数据库。
能够根据我们的分析查询指定排序和分发 在 redshift 中创建表时
可用于报告的 UI 合作伙伴
即席查询支持 SQL(维护较少)
后退:
- 我们需要将数据从 cassandra 移动到 redshift。我们有 确定 AWS Firehose 为我们做这件事。连同写信给 cassandra,我们还将写入将写入的 firehose 流 为我们红移。
- Redshift 和 Firehose 涉及的 AWS 成本。
到目前为止,我们倾向于 redshift 。 我上面的假设有什么错误吗? 有没有其他选择?
【问题讨论】:
标签: cassandra amazon-redshift spark-cassandra-connector amazon-kinesis-firehose