Search code examples
amazon-dynamodb

Amazon Dynamo DB Cost question for high throughput writes


We have a Dynamo Table where the number of rows is less than 1000 rows. However, we need to update a few of these records several times in a second. (roughly 550 writes per second) . This translates to 1.98 Million per hour.

Extrapolating to 24 hours - ~=47 million

With this trend, we will be charged close to $1800 per month. Is there a way we can reduce our costs here?

Example : Writing and reading from memory and propagation once in a while to dynamo db.


Solution

  • As Leeroy noted, your cost estimate is exaggerated, and probably used "on-demand" pricing, whereas if you know that you have around 550 writes per second all the time, you can use the much cheaper "provisioned" pricing.

    But seeing that you have such a tiny workload - only 1000 rows and only 500 writes per second - you can definitely do exactly what you suggested - buffer writes in memory and only actually flush them once in a while to the database. I don't know what is you application, so I don't know if this would be considered safe or durable or highly-available enough for your use case. Even if you don't already have a single machine where you can do this buffering on, a tiny VM will be more than enough for 500 writes per second, and won't cost you anything close to $1800 per month.