Значение атрибута обновления Dynamodb среди связанных элементов - PullRequest
0 голосов
/ 20 июня 2019

Как сказано в документации Dynamodb, рекомендуется использовать только одну таблицу для моделирования всех наших сущностей.

Вы должны поддерживать как можно меньше таблиц в приложении DynamoDB. Для большинства хорошо разработанных приложений требуется только одна таблица.

Теперь предположим, что у нас есть продукт и пользовательский объект, используя только одну таблицу, у нас есть такая схема:

enter image description here

В DynamodB рекомендуется хранить связанные данные вместе, поэтому пользовательские данные «дублируются» в записи продукта.

У меня вопрос: если однажды я обновлю имя пользователя, Dynamodb сможет автоматически обновить копию этого пользователя в моей записи о продукте, или этот вид обновления должен быть выполнен вручную?

1 Ответ

1 голос
/ 21 июня 2019

В DynamoDB рекомендуется сохранять элементы в ненормализованной форме для достижения преимуществ DynamoDb. Сказав это, при разработке таблицы мы учитываем дизайн прикладного уровня, на основе которого мы пытаемся извлечь результаты из одной таблицы, чтобы получить значения, которые можно использовать для создания единой сущности со всеми удовлетворенными отображениями. Следовательно, мы создаем таблицу со столбцами, которые могут содержать значения из другой связанной таблицы. Единственная разница в том, что мы просто помещаем значения отношений для сохранения связи с другими связанными таблицами.
В приведенном выше сценарии мы можем иметь данные пользователя в одной таблице и при создании таблицы для продукта сохранить первичный ключ таблицы пользователя в таблице продукта. Таким образом, если в будущем имя пользователя или данные пользователя будут изменены, проблем не будет. В DynamoDB, используя ключ сортировки для таблицы, будут связывать связанные элементы. Существует также предоставление составных ключей сортировки для работы с отношением один-много. Обмен передовым опытом использования ключей сортировки: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-sort-keys.html

...