Amazon Web Service (AWS) launched the DynamoDB Storage with much fanfare a few years ago. IT experts and small to large business owners were equally excited for this excellent tool that offered reliable performance, impressive auto-scaling of throughput capacity and provided a flexible data model and more within a single service pack. The innovative NoSQL has become a staple for landing pages of numerous renowned brands from the IoT, advertisement technology, mobile and web gaming industries. When the budget is one of the main factors for buying a new tech for your business, then one of the first questions that arise is about the DynamoDB Storage cost.
How is DynamoDB priced?
To put it simply, the monthly cost of DynamoDB services is calculated according to the number of reading and write requests as well as data storage charges. Amazon offers its DynamoDB NoSQL service at a set price however the exact cost of DynamoDB can need to be calculated according to the request and storage needs of individual users.
There are several factors that influence the total cost of DynamoDB services for every customer. These factors are:
Amazon Web Services charges for data storage in DynamoDB according to the amount of space (in GBs) which a table will require. Every month, AWS offers the first 25 GB of disk space for data storage completely free of charge. When the free data storage limit is crossed, every additional GB of table storage will cost around US$ 0.25 per month.
AWS charges for reading request by using “Read Capacity Units” or RCUs. One RCU is useful for requesting up to two reads per second. This comes to around 5.2 million reads in a month.
AWS offers the 25 RCUs free of charge at the start of your billing cycle. For additional RCUs, users are charged around US$ 0.09 per month.
A Strongly Consistent Read (below 4 KB) requires one RCU, while two RCUs are needed to complete one Transactional Read and an Eventually Consistent Read request uses one-and-half RCUs.
DynamoDB write requests are charged by “Write Capacity Units” or WCU. Each WCU allows one write request per second. This amounts to around 2.6 million writes in a month.
AWS offers 25 free WCUs at the start of every billing cycle. For additional WCUs, users are charged around US$ 0.47 per month.
DynamoDB charges one WCU for a written request (below 1 KB) and charges two WCUs for every Transactional Write Request.
How much does the DynamoDB Storage Cost?
With AWS DynamoDB, users need not worry about provisioning their data storage requirements. DynamoDB checks the size of each table constantly and determines the storage charges for data storage.
It calculates the volume of billable data in the storage by adding the basic, byte-sized data packets which are uploaded. In addition, it also includes per-item contingency storage of 100 bytes to accommodate indexing.
According to the official AWS website, the first 25 GB of data storage is completely free. For every additional GB of disk space required thereafter AWS charges around US$ 0.25 per GB per month.
Can DynamoDB Storage Cost become expensive?
There are two main scenarios which might make DynamoDB storage cost-prohibitive to users:
- Unexpected application growth – In case your application grows unexpectedly and quickly it will require larger data servers for storage and processing.
- Low latency – If your customer satisfaction criteria include low latency and geo-distribution.
In such cases, the DynamoDB storage release velocity slows down noticeably and the service can become expensive.
How to optimize DynamoDB Storage Cost?
The reason that DynamoDB storage cost is not simple is that AWS offers a completely manageable database that lets users avoid provisioning machines beforehand. To keep its bills within your budget, here are some tips to optimize DynamoDB storage cost:
1 – Beware of large blobs
DynamoDB storage costs increase significantly when you save images on it. To cut down this cost, users can store all images, or linked assets, in S3. Saving the URL pointing to it in the DDB is very efficient. Alternately, users can consider using compression algorithms such as gzip to make smaller blobs before storing them.
2 – Use smaller attribute names
AWS uses size-based billing units in DynamoDB On-Demand and Provisioned capacity modes and charges extra for data storage. Thus, it helps the user when they create smaller records. If it’s not possible to decrease the attribute values, then uses can choose to shorten attribute names instead. This helps to lower the amount of disk space required for data storage noticeably. In addition, you can choose the shorter epoch time format to cut attribute size even lower.
3 – Choose cheaper regions
If you do not need to adhere to geo-based compliance standards or regulations and the location of your data is not a concern, then you can choose to store DynamoDB tables in cheaper AWS regions.
DynamoDB has quickly become one of the most preferred NoSQL around the world. With these cost-cutting measures, you can get excellent services at lowered DynamoDB storage cost.