DynamoDB Таблица / Индекс Моделирование + Запрос - PullRequest
0 голосов
/ 18 мая 2018

Основные требования:

У меня есть таблица с набором атрибутов (20-30), но только 3 используются в запросах: Пользователь, Категория и Дата, и будут структурированы примерно так...

User | Category | Date | ...
1    | Red      | 5/15
1    | Green    | 5/15
1    | Red      | 5/16
1    | Green    | 5/16
2    | Red      | 5/18
2    | Green    | 5/18

Я хочу иметь возможность запросить эту таблицу следующими двумя способами:

  1. Самые последние строки (на основе даты) пользователем.например, User = 1 возвращает 2 строки из 5/16 (3-я и 4-я строки)
  2. Самые последние строки (на основе даты) по User и Category.например, User = 1, Category = Red возвращает только строку 5/16 (3-я строка).

Это лучший способ смоделировать это с помощью HASH для пользователя, RANGE для даты иGSI с HASH на пользователя + категория и RANGE на дату?Есть ли что-нибудь еще, что может быть более эффективным?Если это путь наименьшего сопротивления, мне все равно нужно знать, сколько строк вернуть, для чего потребуется подсчет отдельных категорий или что-то в этом роде?

1 Ответ

0 голосов
/ 18 мая 2018

Я решил, что будет проще изменить способ хранения документов.Я перенесу категорию и другие атрибуты в поддокумент, чтобы можно было легко запрашивать у пользователя + дата, и я буду выполнять любые запросы пользователя + категории + даты с некоторым клиентским кодом для набора результатов пользователя + дата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...