- Excelling With DynamoDB
- Posts
- Breaking Down The Costs Of Writing Millions Of Items Per Day To DynamoDB
Breaking Down The Costs Of Writing Millions Of Items Per Day To DynamoDB
How to Store 10 Million Items a Day with DynamoDB (for Just $61/Month)
One of the most powerful aspects of DynamoDB is its ability to scale seamlessly.
Whether you’re handling a few hundred records or millions of items per day, DynamoDB is designed to manage that load with low latency and consistent performance.
Let’s look at how DynamoDB handles this scale and break down what it would cost you in provisioned throughput mode (the cheaper mode when you can estimate your database usage).
Storing Millions of Items
Imagine you’re building an application that ingests data at scale, such as IoT sensor readings, user activity logs, or transactions from a global customer base.
Writing millions of items per day might sound intimidating, but DynamoDB does a lot of the heavy lifting for you.
Each write in DynamoDB consumes Write Capacity Units (WCUs), and each read consumes Read Capacity Units (RCUs). One WCU supports one write per second for items up to 1 KB in size. Likewise, one RCU supports one strongly consistent read per second for items up to 4 KB (eventual consistent reads use up half a RCU).
If your application needs to handle 10 million new items per day, that’s about 116 writes per second on average.
Here’s what that math looks like:
10,000,000 items ÷ 86,400 seconds/day = ~116 writes/sec
Each item (assuming <= 1 KB) costs 1 WCU per write/sec
So, you need 116 WCUs to sustain this usage.
Cost Breakdown (Provisioned Mode)
Provisioned capacity pricing is based on how many WCUs and RCUs you reserve. Let’s focus on writes for simplicity:
1 WCU costs about $0.00065 per hour (in us-east-1 region)
116 WCUs × $0.00065 × 730 hours (month) = ~$55/month
Of course, most real-world applications also need to read data back.
Suppose you need to read half of those items within the first day, with each item <= 4 KB in size.
That’s 5 million reads/day, or about 58 reads/sec on average:
58 RCUs × $0.00013 × 730 hours = ~$6/month
Adding read and write costs together, and you’re looking at roughly $61/month in provisioned throughput costs.
Takeaway

The takeaway is simple: DynamoDB can be an incredibly low cost database service if you udnerstand it well enough.
By understanding provisioned capacity, you can estimate costs and control them with precision. For workloads with high traffic usage, you can even enable auto scaling to adjust WCUs and RCUs up or down automatically.
So next time you’re planning an application that needs to handle millions of daily writes, remember that DynamoDB can handle it with ease, and at a surprisingly modest cost.
👋 My name is Uriel Bitton and I hope you learned something in this edition of Excelling With DynamoDB.
📅 If you're looking for help with DynamoDB, let's have a quick chat.
🙌 I hope to see you in next week's edition!