skip to Main Content

I have recently explored AWS DynamoDB and was reading about Read/Write Capacity Units. I understood that they are as under:

  • WCU: A write capacity unit represents one write per second, for
    an item up to 1 KB in size.
  • RCU: A read capacity unit represents
    one strongly consistent read per second, or two eventually consistent
    reads per second, for an item up to 4 KB in size.

So, my table has 1 WCU and 1 RCU. This means I would be charged for every read and every write I do to my table. Good so far. Plus I would be charged additionally for data storage.

However, when I look at this link (scroll down to DynamoDB detailed feature pricing/Read and Write Requests), it shows me WCU and RCU in Price per hour which is $0.00065 per WCU or $0.00013 per RCU.

What is the meaning or Price per hour?

Would I be wrong to assume $0.00065 per WCU or $0.00013 per RCU and ignore the hour part completely? Meaning, per write would cost me $0.00065 and per read would cost me $0.00013.

2

Answers


  1. There are two pricing models for DynamoDB: Provisioned and On-Demand.

    Provisioned capacity means that you will be charged each hour for the provisioned unit whether you consume it or not — and your requests will be throttled if you go over provisioned capacity in a given second. This model allows for considerable savings when you have stable demand and you have a method within your solution to deal with throttles gracefully.

    If you are in the dev mode, or your application has unpredictable peaks, you should consider On-Demand mode where you will be billed a flat rate per request irrespectively of the rate of requests.

    Hope this helps.

    Login or Signup to reply.
  2. Would I be wrong to assume $0.00065 per WCU or $0.00013 per RCU and ignore the hour part completely? Meaning, per write would cost me $0.00065 and per read would cost me $0.00013.

    Yes, for this configuration you would be charged as follows:

    Writes

    $0.00065 * 730 = $0.4745 per month

    Reads

    $0.00013 * 730 = $0.0949 per month


    In provisioned mode you pay for the capacity regardless of how many requests you make. Having 1WCU and 1RCU will allow you to write 1 * 1KB items per second and read 1 * 4KB per second. Moreover, DynamoDB free tier allows you 25WCU and 25RCU per region per month. You can apply this capacity to a single table or multiple tables as you wish. This is enough capacity to provide 200M requests per month.

    In contrast, On-demand mode allows you to pay per request, however it’s not as cost effective as provisioned mode. It simplifies using DynamoDB without needing to think about setting capacity or auto-scaling. It does not have a free tier.

    DynamoDB free tier also provides 25GB of storage per month per region.

    Have a look over the Docs… it’s filled with valuable information to help you understand the difference in capacity modes.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search