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?

已提問 2 年前檢視次數 511 次
2 個答案
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
專家
已回答 2 年前
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
已回答 2 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南