AWS - хранить таблицу способностей пользователей - PullRequest
0 голосов
/ 08 октября 2019

Мне нужно несколько советов о том, как лучше всего хранить много информации для одного пользователя с помощью AWS. Проблема заключается в том, что каждый пользователь после регистрации на моем веб-сайте должен выбрать способности из банка с 40 способностями (свойства, которые может выбрать любой пользователь), и мне нужно найти хороший способ сохранить их для каждого пользователя.

В настоящее время я использую Cognito для таблицы пользователей и DynamoDB для хранения информации о пользователях. Теоретически, я могу просто иметь столбец в моей DynamoDB для каждой способности, а затем иметь «1», если пользователь выбрал его, и «0», если нет. Но это приведет к примерно 40 дополнительным столбцам, и я хотел знать, есть ли лучший способ справиться с этим.

Спасибо за ваше время!

1 Ответ

0 голосов
/ 08 октября 2019

Вы используете базу данных NoSQL (Dynamo), но думаете реляционно (столбцы для всего). Почему бы не иметь таблицу, которая имеет, например, необязательный столбец для каждой способности? Концептуально он похож на реляционный, но столбцы не должны существовать для каждого пользователя, и, если добавлена ​​возможность, проблема обновления таблицы не возникает. Что-то вроде:

enter image description here

Это позволит вам прочитать пользователя и определить, какие у него есть способности. Да, вам все равно придется пройтись по всем возможным возможностям для пользователя, но не каждому пользователю нужна явно установленная способность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...