Amazon DynamoDB устанавливает индексную стратегию
Я только начинаю работать в DynamodB, и я хочу правильно установить некоторые индексы. У меня есть таблица с объектами со следующими полями:
id -> уникальный идентификатор для каждого объекта
businessType -> не уникален, вы можете иметь несколько объектов с одинаковым типом бизнеса
checkType -> не уникальный, вы можете иметь несколько объектов с одинаковым типом проверки
... другие поля (не важно)
Теперь я хочу иметь возможность эффективно выполнять запросы без сканирования:
1) Запрос только по типу businessType, получить все объекты с определенным типом businessType
2) Запрос по businessType и checkType, получение всех объектов с определенным businessType И checkType
3) Запрос только по идентификатору, получить объект с уникальным идентификатором
Как мне эффективно установить индексы для достижения вышеуказанного?
Спасибо.
2 ответа
Использование id
в качестве хеш-ключа таблицы. Создайте один индекс, который использует businessType
в качестве ключа хеша и checkType
в качестве ключа сортировки.
Ваши запросы:
- Запросить индекс без указания значения для ключа сортировки.
- Запросите индекс и укажите как businessType, так и checkType. (Первичный ключ для индекса не обязательно должен быть уникальным, поэтому вы можете получить несколько элементов с помощью этого запроса.)
- Используйте get-item для загрузки одного объекта по его идентификатору.
Запрос только по типу businessType, получить все объекты с определенным типом businessType:
Создание индекса onk 2) Запрос по businessType и checkType, получение всех объектов с определенным businessType И checkType 3) Запрос только по идентификатору, получение объекта с уникальным идентификатором