Я настраиваю DynamoDB. Наши данные просты, в них четыре поля:
- Имя пользователя
- UserShiftEndDate
- UserProjectCode
- UserActivities
В идеале мы должны запрашивать пользователей на основе UserShiftEndDate
. Ни одно из полей / комбинаций в наших данных не является уникальным. Я могу добавить автоматически сгенерированный идентификатор для каждой записи.
Пожалуйста, предложите мне, какие поля выбрать в качестве ключа раздела и ключа сортировки или GSI для оптимального времени ответа на запрос на основе UserShiftEndDate
.
В качестве примера рассмотрим приведенную ниже таблицу:
UserName | UserShiftEndDate | UserProjectCode | UserActivities |
---|---|---|---|
UserA | 12/13/2020 | 45 | monitoring |
UserB | 12/14/2020 | 47 | testing |
Userc | 12/17/2020 | 45 | monitoring |
UserB | 12/14/2020 | 45 | testing |
UserC | 12/15/2020 | 47 | managing |
Мой запрос должен принимать дату в качестве входных данных и должен возвращать все данные пользователей с shiftEndDate
позже или равными заданной дате.
Например, если в качестве входных данных задано 12/14/2020, то запрос должен возвращать все пользовательские данные, кроме строки 1.
Мы планируем хранить дату в мгновенном виде. Чтобы упростить, я упомянул это как дату здесь