DynamoDB is a great AWS service, but it comes with a set of limitations. These limitations are not soft limits, but hard limits that cannot be changed with a support ticket (at the time of writing this).
I’ve seen a couple of teams get caught offside with DynamoDB limits, so I thought I’d provide a summary of ones you should be aware of:
- There is a 10GB limit on every partition key. It is very important to consider this when selecting partition keys.
- The maximum WCU per partition is 1000.The maximum RCU per partition is 3000.There is also a maximum WCU and RCU per table and account, which varies across regions (soft limit).
- Maximum item size in DynamoDB is 400KB, which also includes Attribute Name and Values.If the table has LSI, the 400KB includes the item in the LSI with key values and projected attributes.
- Nested Attribute Depth: DynamoDB supports nested attributes up to 32 levels deep.
- Maximum of 5 Local Secondary Indexes per tableMaximum of 5 Global Secondary Indexes per table
- Decrease RCU or WCUs a maximum of 4 times a day