This (the throttling of writes that can occur due to a hot GSI key) is a real shame. As it defeats one of the main reasons you would use a GSI in the first place - i.e. to enable querying by commonly occuring attributes. As GSIs do not support consistent read operations anyway surely there is a way of removing or mitigating this limitation?
Thank you for your comment. We'll review and update the Knowledge Center article as needed.
This (the throttling of writes that can occur due to a hot GSI key) is a real shame. As it defeats one of the main reasons you would use a GSI in the first place - i.e. to enable querying by commonly occuring attributes.
This is not a simple issue.
DynamoDB's GSi allows duplicated values even with the same primary key of GSI. https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html
ALL – The secondary index includes all of the attributes from the source table. Because all of the table data is duplicated in the index, an ALL projection results in the largest possible secondary index.
In addition, DynamoDB supports isolate frequently accessed items. https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/burst-adaptive-capacity.html
If your application drives disproportionately high traffic to one or more items, adaptive capacity rebalances your partitions such that frequently accessed items don't reside on the same partition.
Therefore, DynamoDB may avoid/mitigate throttling of writes that can occur due to a hot GSI key.
Thank you for your comment. We'll review and update the Knowledge Center article as needed.
Relevant content
- asked 2 years ago
- asked 7 years ago
- asked 3 years ago
- AWS OFFICIALUpdated 23 days ago
- AWS OFFICIALUpdated 2 months ago
- AWS OFFICIALUpdated 2 months ago
- AWS OFFICIALUpdated 4 months ago