首页 > 解决方案 > dynamodb 上的结构应该如何?使用嵌套结构是否正确?

问题描述

同样的问题就像在主题中一样。在使用 AWS 文档时,他们建议您将相关数据保存在一张表中。但是阅读其他用户的各种评论,在很大程度上,我看到不要使用嵌套对象(地图列表)。那么它到底应该是什么样子呢? 在此处输入图像描述

标签: amazon-dynamodbdynamodb-queries

解决方案


当我们使用地图/列表时,我们经常建模一对多的关系。例如,这里有一个示例,我对用户和他们的爱好之间的关系进行建模。

在此处输入图像描述

如果您没有围绕按爱好搜索用户的任何访问模式,则此策略可以很好地模拟一对多关系。例如,如果您的访问模式包括“获取所有喜欢摄影的用户”,那么这不是存储数据的好方法。相反,您可以考虑存储这样的爱好

在此处输入图像描述

此数据模型允许您按爱好获取用户,这在前面的示例中是无法做到的。

在 DynamoDB 中没有单一的数据建模方法。相反,有一些通用的策略和模式可以模拟各种关系(一对多、多对多等)。任何特定情况的最佳策略将取决于您的应用程序的需求。


推荐阅读