Вот мой дизайн таблицы Dynamodb для игры в состоянии ожидания, в которой участвуют два игрока.Состояние игры может изменить форму в ожидании -> в прямом эфире -> более
PK SK State Name
gid1 state pending
gid1 pid1 alex
gid1 pid2 john
Теперь я хочу спросить, в какой части ожидающих игр находится конкретный пользователь.Для этого мне нужно продублировать Game State для каждого элемента игрового игрока и создать GSI следующим образом.
GSIPK GSISK PK
alex pending gid1
john pending gid1
Это дублирование работает нормально, пока я не хочу обновить состояние игры.Это означает, что я должен также обновить состояние всех пользователей игры, и если в игре много игроков, которые могут быть медленными и дорогими.
Есть ли лучший дизайн для моделирования отношений родитель / потомок, где child зависит от атрибута parent?значение?