Ключ первичного раздела Dynamo

У меня есть динамо-стол для новостной страницы.

Это состоит из

гид newsDatetime, newsText, язык

Как лучше всего структурировать таблицу?

Большинство пользователей увидят первые пять текстовых элементов с заказом new newsDatetime.

Вы можете переключить язык, но у каждого языка разные новости. Имеет ли смысл создавать полностью новые DynamoDB и переключать БД на язык. (что редко, если когда-либо произойдет)

Guid будет случайным образом распределен по разделам. Но он хотел бы использовать datetime в качестве ключа раздела из-за упорядочения по datetime. Имеет ли это смысл?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
43
1

Ответы 1

Думаю, у тебя все в порядке с архитектурой. Чтобы решить вашу потребность в фильтрации по языку, я бы предложил создать новый атрибут, объединяющий language и newsDatetime.

Задайте для своей таблицы guid в качестве ключа раздела и newsDatetime в качестве ключа сортировки. Затем создайте вторичный индекс, имеющий guid в качестве ключа раздела и объединенный атрибут в качестве ключа сортировки.

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

Другие вопросы по теме