2

有人建议我研究 DynamoDB 来存储时间序列数据,但我不太确定,因为我的最终目标是数据可视化。

我有传感器每 10 分钟发送一次数据,我想在默认情况下以每周视图可视化某些图表中的数据(每周 1008 个数据点(日期时间/值))。假设我预置了 10,000 次读取/秒(AWS“默认”最大值),并且假设 1 条记录适合 1 个容量单位 (1kb)。

除了东西变得昂贵之外,这是否意味着我什至不能同时只支持 10 个客户端?我错了还是 DynamoDB 不是适合这项工作的工具?

4

1 回答 1

9

DynamoDB 非常适合存储即将到来的事件数据,但它不应该是您使用的唯一工具。您可以将 DynamoDB 与其他工具集成:

  • 在 DynamoDB 前面放置一个缓存(例如 ElasticCache),以允许从它而不是 DynamoDB 提供重复查询
  • 在您的 DynamoDB 前面放置一个缓冲队列(例如 SQS),以允许您的传感器以不同的速率发送它们的报告,同时保持较低的平衡写入 DynamoDB 的速率。

根据您的访问模式,您还可以在 DynamoDB. 中拥有多种格式的数据。例如,您可以拥有一个记录,其中包含每个传感器整周的数据点,并且您可以每 10 分钟更新一次该记录,而不是仅在每个报告中附加新的记录数据。每个传感器的每周记录可以是每天或每月,您可以根据需要进行记录。每次写入和读取时,您仍然只需要读取 1 或 7 条或任何其他少量记录。

更新了 DynamoDB 文档中有关 DynamoDB 表设计的更多链接:http: //docs.aws.amazon.com/amazondynamodb/latest/developerguide/GuidelinesForTables.html

于 2013-08-31T06:47:58.690 回答