使用AWS DynamoDB或Redshift存储分析数据

时间:2015-09-29 08:42:10

标签: amazon-web-services amazon-dynamodb amazon-redshift

我想问一下哪种服务最适合我。例如,一个类似Facebook的移动应用程序,我需要跟踪用户的每个动作,例如访问过的页面或点击的链接。

我正在考虑使用DynamoDB创建多个表来跟踪每个不同的活动。当我运行我的分析应用程序时,它将查询每个表的所有数据(相似的哈希键但不同的范围键,以便我可以查询所有数据)并在应用程序中计算结果。因此,主要成本是每个表的读取吞吐量很容易达到250读/秒(〜$ 28 / mth)。每个表的存储没有限制,所以它是免费的吗?

对于Redshift,我将支付每月100%利用的存储容量160GB。那将花费我大约14.62美元/月。虽然它看起来更便宜,但我不熟悉Redshift,因此,我不确定其他隐藏成本是什么。

提前致谢!

1 个答案:

答案 0 :(得分:2)

Pricing for Amazon DynamoDB有几个组成部分:

  • 预配吞吐量容量(表的速度)
  • 索引数据存储(存储数据的成本)
  • 数据传输(用于从AWS传输到Internet的数据)

例如,100GB的数据存储成本约为25美元。

如果你想要250读/秒,每50个单位需要花费0.0065美元,即.0065 * 5 units * 24 hours * 30 days = $23.40(加上一些写入容量单位)。

Pricing for Amazon Redshift基于节点的数量和类型。每个节点160GB dc1.large节点的成本为25c/hour * 24 hours * 30 days = $180(但您的情况可能只需要一个节点)。

因此,亚马逊Redshift更昂贵,但它也是一个功能更强大的系统。您可以针对Amazon Redshift运行复杂的SQL,而您必须编写应用程序以从DynamoDB检索,加入和计算信息。将DynamoDB视为存储服务,而Redshift也是一种查询服务。

然而,真正的决定应该基于您将如何使用数据。如果您可以创建可与DynamoDB一起使用的应用程序,则使用它。但是,很多人发现在Redshift上使用SQL的简单性要容易得多。