Amazon DynamoDB устанавливает индексную стратегию

Я только начинаю работать в DynamodB, и я хочу правильно установить некоторые индексы. У меня есть таблица с объектами со следующими полями:

id -> уникальный идентификатор для каждого объекта
businessType -> не уникален, вы можете иметь несколько объектов с одинаковым типом бизнеса
checkType -> не уникальный, вы можете иметь несколько объектов с одинаковым типом проверки
... другие поля (не важно)

Теперь я хочу иметь возможность эффективно выполнять запросы без сканирования:
1) Запрос только по типу businessType, получить все объекты с определенным типом businessType
2) Запрос по businessType и checkType, получение всех объектов с определенным businessType И checkType
3) Запрос только по идентификатору, получить объект с уникальным идентификатором

Как мне эффективно установить индексы для достижения вышеуказанного?
Спасибо.

2 ответа

Решение

Использование id в качестве хеш-ключа таблицы. Создайте один индекс, который использует businessType в качестве ключа хеша и checkType в качестве ключа сортировки.

Ваши запросы:

  1. Запросить индекс без указания значения для ключа сортировки.
  2. Запросите индекс и укажите как businessType, так и checkType. (Первичный ключ для индекса не обязательно должен быть уникальным, поэтому вы можете получить несколько элементов с помощью этого запроса.)
  3. Используйте get-item для загрузки одного объекта по его идентификатору.

Запрос только по типу businessType, получить все объекты с определенным типом businessType:

Создание индекса onk 2) Запрос по businessType и checkType, получение всех объектов с определенным businessType И checkType 3) Запрос только по идентификатору, получение объекта с уникальным идентификатором

Другие вопросы по тегам