У меня есть динамо-стол для новостной страницы.
Это состоит из
гид newsDatetime, newsText, язык
Как лучше всего структурировать таблицу?
Большинство пользователей увидят первые пять текстовых элементов с заказом new newsDatetime.
Вы можете переключить язык, но у каждого языка разные новости. Имеет ли смысл создавать полностью новые DynamoDB и переключать БД на язык. (что редко, если когда-либо произойдет)
Guid будет случайным образом распределен по разделам. Но он хотел бы использовать datetime в качестве ключа раздела из-за упорядочения по datetime. Имеет ли это смысл?





Думаю, у тебя все в порядке с архитектурой. Чтобы решить вашу потребность в фильтрации по языку, я бы предложил создать новый атрибут, объединяющий language и newsDatetime.
Задайте для своей таблицы guid в качестве ключа раздела и newsDatetime в качестве ключа сортировки. Затем создайте вторичный индекс, имеющий guid в качестве ключа раздела и объединенный атрибут в качестве ключа сортировки.
Если вам нужно получить новости независимо от языка, просканируйте таблицу в порядке убывания с помощью клавиши сортировки. Если вам нужно отфильтровать язык, используйте сканирование вторичного индекса в порядке убывания, но также используйте условие фильтрации startswith = "{language}".