Why does AWS DynamoDB separate RCU and WCU

0

Why does AWS DynamoDB separate RCU and WCU? Azure CosmoDB uses a single RU model. A unit write is considered 2 RU while a unit read is 1 RU. Why doesn't Dynamo use this simpler model? Also if I need lots of RCU and very little WCU, can I convert some of my WCU into RCU in reservation?

asked 3 years ago638 views
2 Answers
1

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.

profile pictureAWS
EXPERT
answered 3 years ago
0

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

AWS
Marco
answered 3 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions