I'm designing a DynamoDB single table where I need to frequently update the access pattern values.
I have a high demand access pattern > get details by status.
So either I can access this using sort key = status or using gsi = status.
Since this access pattern is using high in my scenario, I initially decided to use the sort key = status in the base table itself.
But I need to update this status(sort key) frequently. I know that base table primary key (PK+SK) cannot modify. So for this approach I need to delete item and put as a new record with modified sort key.
Or Alternatively I can use it in Global Secondary Index (GSI) and update the item. But then the high access pattern will be use GSI. (and i think it will delete and add as a new record in gsi table behind the scene also.)
Considering both cost-effectiveness and best practices, which approach would be more advisable in this scenario? Any insights or recommendations would be greatly appreciated.
Thank you.