我对 DynamoDB 设计很陌生,并试图为我的应用程序获取正确的架构。在这个应用程序中,不同的用户将输入有关他们一天的各种属性。例如“用户 X,3 月 1 日 12:00-2:00,累了”。给定时间可能有多个条目,或重叠时间(例如,12-2 累了,12-1 吃午饭)。
我需要根据用户和时间范围进行查询。常见查询:
我最初的想法是分区键将是开始时间的用户 ID 和范围键,但由于重复的开始时间而无法正常工作,对吗?
第二个想法:
Action - 该开始时间的所有操作的 JSON 文档
[{动作:“午餐”,结束时间:“下午1点”},{动作:累了,结束时间:“下午2点”}]
关于正确模式的任何建议?
这确实没有一个解决方案。您将需要根据您的用例评估多个选项,您拥有多少数据/您查询的频率以及通过哪些字段等。
但一个好的解决方案是像这样对架构进行分区。
优点
缺点
这与您最初的想法非常接近,为了获得更精确的答案,我们需要更多有关您计划进行多少次写入和读取以及您需要哪种查询的信息。
| 归档时间: |
|
| 查看次数: |
1394 次 |
| 最近记录: |