My question is simple, instead of having one big GSI that maps several fields from many entities that I had to set common name like field_GSI_1
, I want to create a separate GSI for each entity that I have.
So, let's consider two scenarios.
Scenario 1, 2 GSIs
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"
Scenario 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"
Question is, will Scenario 1 be more expensive in on-demand mode? Because scenario 1 is much more manageable and organized.
Of course this is only 2 GSIs, but imagine in a real scenario where I can have 10 GSIs vs 1.