场景: 我有一些我正在收集数据的气象站。数据大约每15分钟左右发送一次。每个数据包包含几个测量如压力,温度,湿度等DynamoDB时间序列表设计
的数据将通过多种方式被查询:
- 显示最新值对于所有测量在一个车站
- 显示历史图表用于单次测量(例如温度)
- 其他?
表建议:
STATIONS:散列键:站-ID
包含有关工作站的元数据信息
STATION_X_MEASUREMENT_DATA:散列键:测量型,增程键:时间戳
其中X是站ID。每个记录包含特定测量类型和时间的测量值。每个电台都有自己的数据表,这样当电台不再使用时,可以通过删除一个表来删除数据。
STATION_SUMMARY:哈希键:station_id
包含最新/电流值,所有测量类型的每个站
问题:
我应该有两个单独的表(总结和个人测量),还是我应该查询最新的测量结果?
我应该将测量类型存储为单个记录,还是将特定时间戳记组合为单个记录?
如果我将所有测量结果存储在带有时间戳记的组合记录中作为范围键,那么使用分钟还是秒钟作为分区键值得?恐怕会让查询更加复杂。
还有什么我应该改变/改进?有更好的选择吗?