Skip to content

Is there a free tier for Dynamo DB On-Demand

0

I have a very bursty workload which has a couple thousand writes a day (possibly over a set interval or possible in one big batch) and unknown access patterns of maybe up to tens of thousands of rows at a time.

I know i can definitely get the writes to happen in set intervals and stay within free tier provisioned capacity. But for reads I really don't know when or how much of the data would get accessed, as such I thought that the on demand route would serve my purpose slightly better.

I wanted to know whether there are any number of RRU and/or WRU for free, or whether i have to pay for any requests made to the dyanmoDB.

Is there a better way to achieve my goal?

2 Answers
2

Unfortunately on-demand mode does not offer free-tier for requests, but you still get the free-tier for data storage. The free tier for DynamoDB provides 25GB of storage, along with 25 provisioned Write and 25 provisioned Read Capacity Units (WCU, RCU) per region, which is enough to handle 200M requests per month.

https://aws.amazon.com/dynamodb/pricing/

AWS
EXPERT
answered 9 months ago
1
Accepted Answer

While DynamoDB does offer a free tier, it's important to note that the free tier is primarily designed for provisioned capacity mode, not on-demand capacity mode. However, you can still leverage some free tier benefits for your use case.

For your write operations, you're correct that you can stay within the free tier by using provisioned capacity. The free tier offers 25 Write Capacity Units (WCUs) per month, which should be sufficient for your couple thousand writes per day if spread out over time.

Regarding reads, the free tier also provides 25 Read Capacity Units (RCUs) per month for provisioned capacity. However, given your unpredictable read patterns, on-demand capacity might indeed be a better fit for your needs.

Unfortunately, there isn't a specific free tier for on-demand capacity in terms of Read Request Units (RRUs) or Write Request Units (WRUs). When using on-demand capacity, you pay for the actual number of reads and writes you perform.

To achieve your goal while optimizing costs, you might consider a hybrid approach:

  1. Use provisioned capacity for your writes, staying within the free tier limits.
  2. Use on-demand capacity for your reads to handle the unpredictable access patterns.

This way, you can benefit from the free tier for your writes while having the flexibility of on-demand for your reads. Keep in mind that you'll be charged for the on-demand read requests, but you won't have to worry about over-provisioning or under-provisioning read capacity.

Additionally, remember that the free tier also includes 25 GB of data storage for tables using the DynamoDB Standard table class. This could be beneficial for your data storage needs.

To further optimize your setup, consider implementing a caching layer (like DynamoDB Accelerator - DAX) for frequently accessed items, which could help reduce the number of read requests to DynamoDB. However, note that DAX is not included in the free tier and would incur additional costs.

Remember to monitor your usage closely, especially when using on-demand capacity, to avoid unexpected charges. Set up AWS Budgets or CloudWatch Alarms to keep track of your DynamoDB usage and costs.
Sources
Amazon DynamoDB Pricing | NoSQL Key-Value Database | Amazon Web Services
What is Amazon DynamoDB? - Amazon DynamoDB
Amazon DynamoDB Pricing for On-Demand Capacity
How to use DynamoDB Free-tier provisioned RCUs and WCUs | AWS re:Post

answered 9 months ago
AWS
EXPERT
reviewed 9 months 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.