DynamoDB - влияет ли количество GSI на цены в режиме емкости по требованию? - PullRequest
1 голос
/ 03 мая 2019

Мой вопрос прост: вместо того, чтобы иметь один большой GSI, который отображает несколько полей из многих сущностей, для которых мне нужно было установить общее имя, например field_GSI_1, я хочу создать отдельный GSI для каждой имеющейся у меня сущности.

Итак, давайте рассмотрим два сценария.

Сценарий 1, 2 GSI

My_GSI_1

Partition Key = "pk"
Range Key = "ok"

Projected attributes = "field_gsi_1", "field_gsi_2"

My_GSI_2

Partition Key = "pk"
Range Key = "ok"

Projected attributes = "field_gsi_3", "field_gsi_4"

Сценарий 2, 1 GSI

My_GSI_1

Partition Key = "pk"
Range Key = "ok"

Projected attributes = "field_gsi_1", "field_gsi_2", "field_gsi_3", "field_gsi_4"

Вопрос: Сценарий 1 будет дороже в режиме по требованию?Поскольку сценарий 1 гораздо более управляем и организован.

Конечно, это всего лишь 2 GSI, но представьте себе в реальном сценарии, где я могу иметь 10 GSI против 1.

1 Ответ

1 голос
/ 03 мая 2019

Думайте о GSI как о другой таблице DDB ...

Таким образом, в сценарии 1 за каждую вставку вы платите за 3 записи вместо 2 в сценарии 2.

То же самое относится и к обновлениям; если поле (1 или 2) и поле (3 или 4) изменяются одновременно.

Я не думаю, что два GSI с одинаковым ключом и разными проекциями имеют смысл.

...