Как минимизировать избыточность данных в отношении «многие ко многим» в DynamoDB? - PullRequest
0 голосов
/ 15 апреля 2020

В настоящее время я создаю простое приложение для рассылки новостей, где пользователи могут получать приглашения по электронной почте для чтения рассылки.

У меня есть пример таблицы настроек:

enter image description here

  • , где я использую автоматически сгенерированные идентификаторы и электронные письма в качестве ключей раздела и общие c ключевые слова в качестве ключей сортировки,
  • для определения отношений рассылки и электронной почты. Я использую идентификатор рассылки в качестве PK и электронные письма как SK

Я использую 1 GSI, который использует базовую таблицу SK в качестве PK и базовую таблицу PK в качестве SK - это дает мне следующее агрегированное представление:

enter image description here

  • Мой желаемый шаблон доступа - разрешить приглашенным пользователям перечислять свои новостные рассылки с помощью простой нумерации шаблонов сопоставления шаблона nextToken AWS.

Мой вопрос это - в моем случае «данные об отношениях по электронной почте для новостной рассылки» и «данные новостной рассылки» должны быть идентичными, чтобы я мог отображать предварительный просмотр своих новостных рассылок в списке новостных рассылок и одновременно отображать новостную рассылку Сам после того, как пользователь нажимает на одну из перечисленных рассылок и отображает детали рассылки.

  • Есть ли способ достичь этого без избыточности?
  • Если нет, то как мне синхронизировать данные об отношениях электронной почты сотен информационных бюллетеней с c с данными информационных бюллетеней? Действительно ли мне нужно выполнять сотни операций PutItem через TransactionPutItem каждый раз, когда я обновляю имя своего информационного бюллетеня?
  • Есть ли какая-то методология, которую мне не хватает?
...