A few things. 1/ Auto-scaling is on by default with provisioned capacity when you create your table in the console. 2/ Using auto-scaling will mostly eliminate the large red area that is unused wasted money. DynamoDB will actively watch and adjust the capacity up and down within the floor and ceiling you have set for it to run. If you do this, then there is VERY little waste for these predictable workloads like shown in the graph. 3/ On-demand is great when you have a very new workload and do not know yet what steady state traffic patterns look like. Run in on-demand for a while, learn your patters and then switch to provisioned. 4/ You can switch back and forth between the two modes. Let's say you normally run in provisioned mode, but there is a big event coming up and you do not know what capacity you will need. Switch the table to on-demand mode. When that event has passed, switch it back to provisioned mode. You can switch once every 24 hours.
Based on the formula of calculating number of partititoma, if I have a requirement of 3000 rcu and 1000 wcu, table needs to create 2 partitions. Assume data size is less than 10 GB. why do I need 2 partitions, since 1 partition is sufficient enough for this load ..??
I have some questions for you, suppose I have 10 RCUs, if I request 10 items from a table (10 documents), then will I have already consumed all my RCUs? If the answer is affirmative, I would like to put a casuistry, suppose that I have a website with three users consulted a list of products (the list has 10 products) at the same time, then would I be consuming 30 RCU? sorry if my questions are very basic, I am recently learning DynamoDB
To answer this correctly, you will need to tell us what is the size of each document? Are you reading all 10 documents/sec. Assuming the doc size is 4KB and you are reading all 10 records/sec then you are consuming 10 RCUS. If not then you are not.
Hi Cat, good question! This isn't stated anywhere in the AWS documentation unfortunately (atleast that I've found). I suspect what they must do is have an excess amount of burst capacity provisioned for on-demand tables so that they can react to sudden bursts. I'd also expect they have a very aggressive autoscaling algorithm working behind the scenes to provision more resources. This is all just a suspicion, but hope it helps!
Hi Swayam. LSIs do not incur any additional charge. However GSIs certainly do, see this article for reference: blog.yugabyte.com/dynamodb-pricing-calculator-expensive-vs-alternatives/
A few things. 1/ Auto-scaling is on by default with provisioned capacity when you create your table in the console. 2/ Using auto-scaling will mostly eliminate the large red area that is unused wasted money. DynamoDB will actively watch and adjust the capacity up and down within the floor and ceiling you have set for it to run. If you do this, then there is VERY little waste for these predictable workloads like shown in the graph. 3/ On-demand is great when you have a very new workload and do not know yet what steady state traffic patterns look like. Run in on-demand for a while, learn your patters and then switch to provisioned. 4/ You can switch back and forth between the two modes. Let's say you normally run in provisioned mode, but there is a big event coming up and you do not know what capacity you will need. Switch the table to on-demand mode. When that event has passed, switch it back to provisioned mode. You can switch once every 24 hours.
Kirk Kirkconnell this is very useful, thanks for your comment.
Great comment kirk, thanks for adding.
I really hope that RUclips's algorithm will show your videos more often. I liked it.
Thank you so much!
Your videos provide a great way to understand aws products. Thank you, and keep them coming! =)
Thanks so much Jeff! Really appreciate your support.
Thank you for explanation. Now I get it much more about the difference between the Provisioned and OnDemand models. :)
Amazing explanation, please also make a video on setting up auto-scaling parameters.
Very good explanation! thanks
Thanks for your clear explanation
Glad it was helpful!
Great Summary! Thanks :)
Thanks for great explanation
You're very welcome Naman!
@@BeABetterDev Once you get time, Please create Video on Cloud-formation Condition Functions :)
very nicely explained
Thanks Vinod!
Thank you for great explanation and good examples present in this video.
Glad you liked it!
Based on the formula of calculating number of partititoma, if I have a requirement of 3000 rcu and 1000 wcu, table needs to create 2 partitions. Assume data size is less than 10 GB. why do I need 2 partitions, since 1 partition is sufficient enough for this load ..??
I have some questions for you, suppose I have 10 RCUs, if I request 10 items from a table (10 documents), then will I have already consumed all my RCUs? If the answer is affirmative, I would like to put a casuistry, suppose that I have a website with three users consulted a list of products (the list has 10 products) at the same time, then would I be consuming 30 RCU?
sorry if my questions are very basic, I am recently learning DynamoDB
To answer this correctly, you will need to tell us what is the size of each document? Are you reading all 10 documents/sec. Assuming the doc size is 4KB and you are reading all 10 records/sec then you are consuming 10 RCUS. If not then you are not.
You're the man
Thanks Erron!
@@BeABetterDev All thanks to your efficient efforts
can I make on demand when putting in the DynamoDB and the on provision when getting data from the dynamodb?
Hi Reo,
Switching between the two usually takes a few minutes. If this delay is acceptable, then sure, you can switch between them anytime you want.
On-demand you do may have throttling! In case the workload has a pike beyond the double... I am having this problem right now...
Hi Roger, on demand can certainly have throttling. This is just the nature of auto scaling in general and not something particular to Dynamo DB.
How do they do on demand that can handle big spikes with no delay, but auto scaling is so slow?
Hi Cat, good question! This isn't stated anywhere in the AWS documentation unfortunately (atleast that I've found). I suspect what they must do is have an excess amount of burst capacity provisioned for on-demand tables so that they can react to sudden bursts. I'd also expect they have a very aggressive autoscaling algorithm working behind the scenes to provision more resources. This is all just a suspicion, but hope it helps!
How does Local and global secondary index affect pricing of dynamoDB can you please explain?
Hi Swayam. LSIs do not incur any additional charge. However GSIs certainly do, see this article for reference: blog.yugabyte.com/dynamodb-pricing-calculator-expensive-vs-alternatives/
awesome!!!!