【发布时间】:2021-10-16 22:51:56
【问题描述】:
我正在尝试设计我的第一个 DynamoDB 表。一些项目将代表用户数据(例如个人资料图片 URL),一些项目将代表其他用户的评论等等。我正在寻找一种有效的方法来获取每次评论的用户数据。该查询将获取其他人发布的某个用户的所有/最近 10 条评论。问题是我可以在每条评论中复制评论者的信息,但是像图像 URL 这样的东西是可变的,并且可能会经常更改,并且在所有这些地方更新用户数据似乎效率很低,如果这个用户是活跃的并且发布了这么多评论,cmets ,……。我能想到的另一种方法是首先查询评论,然后使用每条评论的用户 ID 进行批量读取以获取评论者的数据,但这会非常低效且成本高昂。
我假设这是一个常见问题,因为我可以想到许多与此类似的用例(YouTube 视频或帖子的评论、Twitter 帐户的关注者……),在所有这些情况下,您都希望获取相关的用户数据(例如图像 URL 和用户名)。那么,有没有更好的方法来处理这个问题?
【问题讨论】:
标签: database-design nosql amazon-dynamodb many-to-many one-to-many