1

我正在尝试创建一个像 Facebook 这样的应用程序,人们可以在其中彼此成为朋友。我希望能够使用 DynamoDB 来创建这些关系。从我在网上看到的人们认为这种关系应该是这样的:

    userid  friendid

      1       2

      1       3

      2       3

我得到了这个,但是在 dynamoDB 中你不能在表中重复用户 ID,所以我正在寻找其他方法。如果有人能以任何方式提供帮助,我将不胜感激,因为我正在努力理解这个概念。

4

1 回答 1

0

有两种方法可以实现这一目标

  • 将 userId 设为Hash,将friendId 设为Range:通过这种方法,您将能够存储特定用户的所有朋友,如果您的用户有 1000 个朋友,那么随着数据的增长,您一次将为单个用户获取 1000 条记录。
  • userId 为Hash的设计表,FriendId 使用 set/list/map 数据类型。这样做的好处是您将只消耗每个用户的 1 次读取并一次性获取所有的朋友 ID。

这是非常抽象的级别,请尝试相应地考虑您需要在应用程序和设计表中提供的所有功能。

于 2015-08-06T12:52:52.613 回答