AWS - 存储 table 用户能力

AWS - store table of users' ability

我需要一些关于使用 AWS 为单个用户存储大量信息的最佳方式的指导。 问题是每个用户在注册我的网站后都需要从大约 40 种能力(任何用户都可以选择的属性)的库中挑选能力,我需要找到一种好的方法来为每个用户存储它们。

我目前正在为用户 table 使用 Cognito,并使用 dynamoDB 来存储用户信息。 从理论上讲,我可以在我的 dynamoDB 上为每项能力设置一个列,然后如果用户选择它则为“1”,否则为“0”。但这将导致大约 40 个额外的列,我想知道是否有更好的方法来处理这个问题。

感谢您的宝贵时间!

您使用的是 NoSQL 数据库 (Dynamo),但考虑的是关系型数据库(列代表一切)。为什么不使用 table,例如,每个能力都有一个可选列?它在概念上类似于关系,但不必为每个用户都存在这些列,并且如果添加了一项能力,则不存在 table 升级问题。类似于:

这样您就可以了解用户并确定他们具有哪些能力。是的,您仍然需要遍历用户所有可能的能力,但并非每个用户都需要具有明确设置的能力。