我对 DynamoDB 设计很陌生,并试图为我的应用程序获取正确的架构。在这个应用程序中,不同的用户将输入有关他们一天的各种属性。例如“用户 X,3 月 1 日 12:00-2:00,累了”。给定时间可能有多个条目,或重叠时间(例如,从 12 点到 2 点很累,从 12 点到 1 点吃午饭)。
我需要根据用户和时间范围进行查询。常见查询:
我最初的想法是分区键将是开始时间的用户 ID 和范围键,但由于重复的开始时间而无法正常工作,对吗?
第二个想法:
[{ Action :“午餐”,结束时间:“1pm”},{ Action :累了,结束时间:“2pm”}]
关于正确模式的任何建议?
最佳答案
这真的没有一个解决方案。并且您需要根据您的用例评估多个选项,您拥有多少数据/查询频率以及查询哪些字段等。
但是一个很好的解决方案是像这样对您的架构进行分区。
优势
缺点
这与您最初的想法非常接近,为了获得更精确的答案,我们将需要更多关于您计划的写入和读取次数以及您将需要什么样的查询的信息。
关于amazon-dynamodb - DynamoDB 日历/事件类结构的推荐架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49724006/