Основные требования:
У меня есть таблица с набором атрибутов (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
Я хочу иметь возможность запросить эту таблицу следующими двумя способами:
- Самые последние строки (на основе даты) пользователем.например, User = 1 возвращает 2 строки из 5/16 (3-я и 4-я строки)
- Самые последние строки (на основе даты) по User и Category.например, User = 1, Category = Red возвращает только строку 5/16 (3-я строка).
Это лучший способ смоделировать это с помощью HASH для пользователя, RANGE для даты иGSI с HASH на пользователя + категория и RANGE на дату?Есть ли что-нибудь еще, что может быть более эффективным?Если это путь наименьшего сопротивления, мне все равно нужно знать, сколько строк вернуть, для чего потребуется подсчет отдельных категорий или что-то в этом роде?