【发布时间】:2016-10-12 07:16:25
【问题描述】:
我正在尝试弄清楚如何在 AWS DynamoDB 表中对以下数据进行建模。
我有很多物联网设备,每个设备每隔几秒发送一次遥测数据。
属性
- device_id
- 时间戳
- 恶意软件名称
- 公司名称
- action_performed(两个可能的值)
查询
- 显示上周发生的所有事件。
- 显示特定 device_id 的所有事件。
- 显示所有带有“unable_to_remove”操作的事件。
- 显示与特定恶意软件相关的所有事件。
- 显示与特定公司相关的所有事件。
想法
我知道我可以为每个属性添加 GSI,但我只想在别无选择的情况下使用 GSI,因为这会花费我更多的钱。
什么是主主键(分区键:排序键)?
请分享你的想法,我更关心它们而不是完美的答案,因为我正在努力学习如何思考和考虑什么,而不是为特定问题提供答案。
非常感谢!
【问题讨论】:
-
您最好开始阅读有关如何在您的数据库中存储时间序列数据的信息,尝试这部分 AWS 文档并在 DynamoDB 中查找对此类数据库设计的更多参考 - docs.aws.amazon.com/amazondynamodb/latest/developerguide/…
标签: amazon-web-services indexing database-design amazon-dynamodb nosql