dynamodb 表设计建议

问题描述 投票:0回答:1

我正在寻求设计 dynamodb 表的帮助。这是我的用例,

目前,我有一组用户可以随时完成的操作。这些操作根据按组在帐户级别上的用户操作不断变化。这些动作是分组的。也就是说,用户可以属于多个组。我想在发电机表中跟踪这些动作。

我确实在 dynamo 中提出了两种设计。我不确定,根据发电机标准,哪个有更好的方法。

设计-1

账户 ID (PK) -- 组名 (SK) -- json

1234567891023 -- groupName1234 -- { 点击:true,打开:true }

注意:这里 JSON 不会超过 20kb。

设计-2

账户ID(PK)--组名(SK)--操作--状态

1234567891023 -- groupName1234 -- 单击 -- true

1234567891023 -- groupName1234 -- 已打开 -- true

我们预计一开始就有超过 200 万条记录。根据数据,哪种设计是最好的选择?

我们计划在这张桌子上进行的操作

  • 检索该帐户执行的所有操作
  • 按组检索帐户执行的所有操作
amazon-web-services amazon-dynamodb
1个回答
0
投票

您的基本问题是是否应该将数据存储为嵌套 JSON 还是顶级属性?由于您的密钥不会改变,因此两种型号的访问权限都是相同的。

但是,存储为顶级属性可以提供更好的灵活性,例如,您可以在所需的属性上创建索引。

© www.soinside.com 2019 - 2024. All rights reserved.