Сделать атрибут Dynamodb ключом раздела одного индекса и ключом сортировки другого индекса - PullRequest
0 голосов
/ 25 апреля 2018

Можно ли сделать атрибут в качестве ключа раздела одного индекса и в качестве ключа сортировки другого индекса?

Например, у меня есть таблица с именем Events с атрибутами user, statuscreated_at.

Могу ли я создать оба следующих GSI
GSI user_status [user как partition, status как sort]
GSI status_created_at [status как partition, created_at как sort]

1 Ответ

0 голосов
/ 25 апреля 2018

Это в значительной степени идея GSI.Короче говоря, ответ - да.

Будьте осторожны при создании GSI, где у вас есть огромное количество элементов на небольшом наборе ключей секционирования, например, во втором примере GSI, где вы делите статус.Предположительно, имеется всего несколько значений статуса, но для каждого статуса количество элементов (количество элементов с одинаковым статусом) может быть очень большим.Причина, по которой это может быть проблемой, заключается в том, что для GSI, как и для таблиц, действуют ограничения по емкости чтения и записи, которые применяются к каждому разделу.По мере масштабирования вашей таблицы низкое распределение по разделам с очень высокой мощностью может привести к снижению производительности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...