- Newest
- Most votes
- Most comments
DynamoDB uses separate models as both are different in terms of cost and it also allows customers to ensure the have enough capacity for their application needs.
- 1 WCU = 1 write of item size 1kb
- 1 RCU = 1 (strong) read of item size 4kb
- You also have Transactions pricing and eventually consistent reads
Of course DynamoDB could have had a single unit of measurement, but this was restrictive as customers want to ensure they have the correct throughput for their needs. For example, imagine your application is read heavy, and the application consumes 10,000 RCU, and you also have daily jobs which load data into the table, which consumes WCU, the write traffic will have zero impact on your customer traffic. In a shared model, there is a chance that your daily load could over consume and cause your application to throttle.
Also if I need lots of RCU and very little WCU, can I convert some of my WCU into RCU in reservation?
No, but if you need lots of RCU and little WCU, then you just provision your table to suit your needs. You can also let DynamoDB handle your capacity needs by using On-Demand mode which will handle of all your scaling needs instantly.
DyanmoDB is a distributed System. Write Operations are more complex than read operations.
You can increase your WCU and RCO as often as you want and decrease up to 27 times a day for more details follow this link https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html#default-limits-throughput-capacity-modes.
You can also use Autoscaling for these values. https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html
Relevant content
- asked a year ago
- asked a year ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated 5 months ago
- AWS OFFICIALUpdated 4 months ago
- AWS OFFICIALUpdated 2 years ago