Till a few years ago, it was an enormous task to create databases that supported businesses with efficient scalability and at the same time providing regular low latency levels. This same task was made easier back in 2012 when Amazon Web Services launched its DynamoDB. Now, the DynamoDB storage is filled with several efficiency-enhancing features.
Businesses have found the features extremely effective, in terms of increasing productivity and elevating cost-efficiency in operations. The DynamoDB allowed users to completely manageable, region-wide multi-master database tables with incredible features, including:
- In-memory caching
- Encryption at rest
- 99% uptime SLA (Service Level Agreement)
- Point-in-time recovery, etc
The cost-efficiency of the DynamoDB was greatly enhanced with the launch of the On-Demand model.
What is DynamoDB On Demand Pricing Model?
The DynamoDB on demand pricing model is a new, flexible billing method for users. It is designed to serve thousands of reading and write AP requests every second without the need for capacity planning beforehand. DynamoDB on demand model only charges with a simple pay-per-request method. This way, users need to pay according to their usage only.
This is a great way to level the performance to cost ratio for your business.
In the on-demand mode tables, DynamoDB immediately adapts to the fluctuating workload from users as the average traffic level tends to go up and down. When the traffic level crosses the previous high threshold the DynamoDB instantly expands to accommodate the increase in workload.
Using the DynamoDB console, users can create new tables in the On-Demand read / write Capacity Mode and can even switch to Provisioned Mode by clicking on the Capacity tab.
Tables created in the On-Demand mode support all DynamoDB features, except for auto-scaling as it is not allowed in this mode.
However, when indexes are created using the tables in On-Demand mode, they have the regular billing model and scalability. Users are not required to enter throughput capacity for indexes because the charges are according to usage. If you do not need to use the On-Demand mode and its indexes then you are charged only for the data storage.
Who Needs to Get DynamoDB On-Demand Pricing Model?
One of the biggest concerns for users is capacity planning. The other is of having to pay more than their usage.
Thus, if you cannot predict your traffic pattern and are worried about exponentially high billing, then you need to switch to DynamoDB on-demand pricing.
If you have unpredictable traffic patterns
Under the conventional DynamoDB Provisioned billing model, users are charged according to the capacity of handling specific numbers of API request throughput. Users are billed for reading and write capacity units.
Every read capacity unit lets users send 1 read request throughput each second. The same way, every writes capacity unit lets users send 1 write request each second. Users need to pay for read/write capacity units on an hourly basis. This mode charges normally around US$ 0.00013 per hour for reading capacity units and around US$ 0.00065 per hour for write capacity units.
If, for instance, you need 30 capacity units in a month, then the read capacity units will cost around US$ 0.09 per month, while the write capacity units come at around US$ 0.47 for a month. If all capacity units are utilized completely, every unit should give users 2,592,000 requests in a 30-day period. This way, users will have to pay around US$ 0.036 per 1 million read requests and pay around US$ 0.18 per 1 million write requests.
However, it is highly unlikely that you will need to use all your capacity units in a month as the traffic is highly unpredictable more often. Unless you want to spend hours learning to understand the traffic patterns then using DynamoDB On-Demand is the better choice for you.
If you are worried about the costs
Not utilizing all the capacity units bought for the month tends to cost a significant amount. If you are worried about having to pay more for less use of services, then the On-Demand pricing model is far more cost-efficient as it charges according to individual read or writes requests.
This way, users only need to pay for what they use and do not have to worry about forecasting their monthly request requirements.
According to industrial experts, the DynamodB on demand is incredibly useful if users’ application traffic is unpredictable and difficult to control, if their workload fluctuates significantly or if their average use of tables is well below the peak threshold.
In simple words, you need to switch to DymanoDB On-Demand if you have:
- New applications or databases whose workload is too complex to be predicted accurately
- Developers who are creating server-less server stacks with pay-per-use charges
- Independent Software Vendors (ISVs) or SaaS provider who needs a simple yet resourceful solution to deploy tables to individual subscribers.
DynamoDB On-Demand is an excellent way for users to enhance their productivity and making their API request needs more affordable.