Как я могу реализовать два ключа сортировки в БД Динамо? - PullRequest
0 голосов
/ 30 марта 2020

Я строю базу данных с помощью DynamoDB на AWS.

Я использую переменную X в качестве ключа секции и переменную Y в качестве ключа сортировки.

У меня также есть переменная Z, которая мне нужна в качестве второго ключа сортировки.

Есть ли способ сделать это?

Ответы [ 2 ]

2 голосов
/ 30 марта 2020

Обычно в DybanoDB вы можете создавать Локальные вторичные индексы , если вам нужен альтернативный ключ сортировки:

Чтобы предоставить вашему приложению выбор ключей сортировки, вы можете создать один или несколько локальные вторичные индексы в таблице Amazon DynamoDB и выдача запросов Query или Scan для этих индексов.

Важно отметить, что LSI c можно создавать только при создании главной таблицы. , и они не могут быть удалены позже.

Вы можете иметь максимум 5 LSI на таблицу.

0 голосов
/ 23 апреля 2020

Здесь вы можете использовать LSI или GSI, но если это запросы, которые вы выполняете не часто и / или не с высокой скоростью, или если возвращаемый набор с PK и SK достаточно мал, вы можете просто выполнить выражение фильтра по результатам запроса. Да, это небольшие отходы, но стоимость этих отходов может быть меньше, чем буквальная стоимость наличия и поддержания вторичного индекса. Я не могу ответить, если это так для вашей рабочей нагрузки.

...