使用 AWS DynamoDB 或 Redshift 存储分析数据
Using AWS DynamoDB or Redshift to store analytics data
我想问一下哪种服务最适合我。例如,一个类似 facebook 的移动应用程序,我需要在其中跟踪用户的每一个动作,例如访问的页面或单击的链接。
我正在考虑使用 DynamoDB 创建多个 tables 来跟踪每个不同的活动。当我 运行 我的分析应用程序时,它将查询每个 table 的所有数据(相似的散列键但不同的范围键,因此我可以查询所有数据)并在应用程序中计算结果。因此,主要成本是读取吞吐量,每个 table 很容易达到 250 reads/s(~ 28 美元/月)。每个 table 的存储空间没有限制所以是免费的?
对于 Redshift,我将按每月 100% 使用率支付 160GB 的存储大小。这将花费我大约 14.62 美元/月。虽然看起来便宜,但我对Redshift不熟悉,所以不知道还有哪些隐藏费用。
提前致谢!
Pricing for Amazon DynamoDB 有几个组成部分:
- 预配置的吞吐量(表的速度)
- Indexed Data Storage(存储数据的成本)
- 数据传输(用于从 AWS 到 Internet 的数据)
例如,100GB 的数据存储成本约为 25 美元。
如果您想要 250 个 reads/second,每 50 个单位的成本为 0.0065 美元,即 .0065 * 5 units * 24 hours * 30 days = .40
(加上一些写入容量单位)。
Pricing for Amazon Redshift 基于节点的数量和类型。一个 160GB dc1.large
节点的成本是每个节点 25c/hour * 24 hours * 30 days = 0
(但您的情况可能只需要一个节点)。
Amazon Redshift 因此价格更高,但它也是一个功能更丰富的系统。您可以针对 Amazon Redshift 运行 复杂 SQL,而您必须编写一个应用程序来检索、连接和计算来自 DynamoDB 的信息。将 DynamoDB 视为一种存储服务,而 Redshift 也是一种查询服务。
然而,真正的决定应该基于您将如何使用数据。如果您可以创建一个适用于 DynamoDB 的应用程序,那么就使用它。然而,许多人发现在 Redshift 上使用 SQL 的简单性要容易得多。
我想问一下哪种服务最适合我。例如,一个类似 facebook 的移动应用程序,我需要在其中跟踪用户的每一个动作,例如访问的页面或单击的链接。
我正在考虑使用 DynamoDB 创建多个 tables 来跟踪每个不同的活动。当我 运行 我的分析应用程序时,它将查询每个 table 的所有数据(相似的散列键但不同的范围键,因此我可以查询所有数据)并在应用程序中计算结果。因此,主要成本是读取吞吐量,每个 table 很容易达到 250 reads/s(~ 28 美元/月)。每个 table 的存储空间没有限制所以是免费的?
对于 Redshift,我将按每月 100% 使用率支付 160GB 的存储大小。这将花费我大约 14.62 美元/月。虽然看起来便宜,但我对Redshift不熟悉,所以不知道还有哪些隐藏费用。
提前致谢!
Pricing for Amazon DynamoDB 有几个组成部分:
- 预配置的吞吐量(表的速度)
- Indexed Data Storage(存储数据的成本)
- 数据传输(用于从 AWS 到 Internet 的数据)
例如,100GB 的数据存储成本约为 25 美元。
如果您想要 250 个 reads/second,每 50 个单位的成本为 0.0065 美元,即 .0065 * 5 units * 24 hours * 30 days = .40
(加上一些写入容量单位)。
Pricing for Amazon Redshift 基于节点的数量和类型。一个 160GB dc1.large
节点的成本是每个节点 25c/hour * 24 hours * 30 days = 0
(但您的情况可能只需要一个节点)。
Amazon Redshift 因此价格更高,但它也是一个功能更丰富的系统。您可以针对 Amazon Redshift 运行 复杂 SQL,而您必须编写一个应用程序来检索、连接和计算来自 DynamoDB 的信息。将 DynamoDB 视为一种存储服务,而 Redshift 也是一种查询服务。
然而,真正的决定应该基于您将如何使用数据。如果您可以创建一个适用于 DynamoDB 的应用程序,那么就使用它。然而,许多人发现在 Redshift 上使用 SQL 的简单性要容易得多。