Мне сложно понять, какие атрибуты лучше всего использовать в качестве ключа раздела для моего приложения, поскольку я новичок в DynamoDB.Я пытаюсь использовать DynamoDB для простого приложения, где пары пользователей выбираются случайным образом, чтобы встретиться и познакомиться друг с другом.Мне нужно выбрать подходящие таблицы и стратегии разбиения, которые помогут при следующем запросе:
Получить собрание (введение), на которое был приглашен пользователь.Он должен показать все детали встречи, включая другого приглашенного пользователя.
Из того, что я понял из документов, чтобы "запросить" элемент, я могу использовать только ключи в выражении запроса,Кроме того, хорошим ключом раздела является тот, который имеет большую мощность и способствует равномерному распределению в пропускной способности чтения / записи.Я думал о создании таблицы Meetup
, но я с трудом выбираю ключ раздела, особенно когда встреча «принадлежит» 2 пользователям, и элемент события истечет (будет неактивен) после встречи, поэтому я неуверен, что использование meetupID
хорошая идея.Но я думал об использовании двух таблиц как таковых:
Таблица приглашений:
- userId (ключ раздела)
- eventId (ключ сортировки)
- некоторый атрибут
- другой атрибут
Таблица MeetUp:
- meetupId (ключ раздела) -> Я сомневаюсь в этом
- InviteUsers (это будет массив пользовательских объектов)
- отменено
- meetDate
СВ этом решении необходимо выполнить 2 запроса, чтобы сначала получить последний идентификатор события, а затем получить сведения о событии.Кажется ли это хорошим подходом?MeetupId - хороший раздел?Есть ли лучшее решение для этого?