使用DynamoDB for Timeseries数据和可视化目标

Mar*_*ace 2 java data-visualization time-series amazon-web-services amazon-dynamodb

我被建议调查DynamoDB以存储时间序列数据,但鉴于我的最终目标是数据可视化,我不太确定.

我有传感器每10分钟发送一次数据,我想在一些图表中可视化数据,默认情况下每周查看一次(每周1008个数据点(日期时间/值)).假设我提供10,000次读取/秒(AWS'默认'最大值),并假设1条记录将适合1个容量单位(1kb).

除了东西越来越贵,这是否意味着我甚至不能同时只支持10个客户?我错了还是DynamoDB不适合这份工作?

Guy*_*Guy 9

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

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

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

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