2015-08-06 2 views
0

У меня есть игры и вы хотите сохранить их в DynamoDB. Позже я попрошу эти игры 1) по id (получить конкретную игру с учетом id) и 2) day (получить мне все игры за день).Лучший способ представить игры в DynamoDB

В настоящее время у меня есть идентификатор HASH_KEY, но это не будет работать для второго запроса.

Что вы предлагаете?

Благодаря

+0

Посмотрите в глобальные вторичные индексы – JaredHatfield

+0

Так это лучший путь? Я могу использовать GSI (я думал делать то же самое, но хотел подтвердить). thx – Yannis

+0

GSI не лишены своих компромиссов, но если у вас есть набор данных, вы хотите получить доступ к нескольким способам, которые они предоставляют. Я бы рекомендовал посмотреть это видео, чтобы получить хорошие примеры: https://www.youtube.com/watch?v=KmHGrONoif4 – JaredHatfield

ответ

1

Одна лучшая практика DynamoDB заключается в использовании прокатных таблиц временных рядов. Вы можете создать новую таблицу DynamoDB для каждого периода времени (ежедневно, еженедельно и т. Д.) И вставить новые данные в эти таблицы. Таким образом, вы ограничиваете общие данные в одной таблице и можете легко получить запрос, который вы упомянули, сканируя ежедневную таблицу. Кроме того, вы можете набрать пропускную способность записи, как только закончится время, и настройте скорость чтения для ваших приложений.

Если вам нужно посмотреть игры пользователя, вы можете иметь отдельную таблицу, которая отображает пользователей к играм и говорит вам, какие таблицы, чтобы посмотреть их в.

Смежные вопросы