![]() If the many writes are occuring on a single partition key for the index, regardless of how well the table partition key is distributed, the write to the table will be throttled too. If your table uses a global secondary index, then any write to the table also writes to the index. ![]() If you are querying an index where the cardinality of the partition key is low relative to the number of items, that can easily cause throttling if access is not distributed evenly across all keys. Take a look at the access patterns for your data. Increasing capacity of the table or index may alleviate throttling, but may also cause partition splits, which can actually result in more throttling. If you are experiencing throttling on a table or index that has ever had more than 10GB of data, or 3,000 RCU or 1,000 WCU, then your table is guaranteed to have more than one, and throttling is likely caused by hot partitions. Not all partitions will have the same provisioned throughput.When a partition splits, its current throughput and data is split in 2, creating 2 new partitions.Partitions are never deleted, even if capacity or stored data decreases.A partition can accommodate only 3,000 RCU or 1,000 WCU.A very detailed explanation can be found here. Understanding partitions is critical for fixing your issue with throttling. When this happens it is highly likely that you have hot partitions. It is possible to experience throttling on a table using only 10% of its provisioned capacity because of how partitioning works in DynamoDB. ![]() The more elusive issue with throttling occurs when the provisioned WCU and RCU on a table or index far exceeds the consumed amount. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |