Hello everyone! In this blog, I will try to explain what is Amazon DynamooDb and how it is powerful than other NoSQL databases.
What Is Amazon DynamoDB?
Amazon DynmoDb is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. We do not need to predict our application load in advance.
In order to have a clear understanding, let us take a basic example:
Suppose you are developing a social networking application so what will be your major concern before starting the development?
Which database should I use? There are a lot of NoSQL databases available so which one will be good for my application? Suppose after thinking, you decided that Cassandra ( a NoSQL database) is scalable and I will go with it.
After deciding that, your next concern will be how many nodes of the cluster should I use in my application? For this what you will do is, just find out your application load or traffic and decide how many nodes will be required to handle your complete data. For instance, two nodes of the cluster will be enough to handle your whole application data so you will develop a web application with just two nodes of the cluster.
But in future, if your application gets more populated then those two nodes will not be sufficient to handle your whole application’s data. Then what will you do?
Since Cassandra is scalable and you are getting more traffic on your application so you will think of adding another node right? But the major question that arises is how will I identify when my application is getting too much data and I need to add another node to my Cassandra cluster?
Do I really need to track my application every time?
Yes, if you are working with Cassandra or any other NoSQL database then you need to track it but not if you are using Amazon DynamoDB.
Then what does Cassandra Scalability mean?
Cassandra is scalable but for scalability, it should have the nodes to scale your data. If you do not have enough nodes to handle your whole application’s data then Cassandra cannot do anything by itself.
This problem has been solved by Amazon Dynamo DB’s auto-scaling feature.
The auto-scaling feature says that Amazon DynamoDb auto increases its cluster capacity on the basis of actual traffic on your application. You neither need to predict your application data in advance nor worry about the application load, everything will be handled by Amazon DynamoDb itself. DynamoDB auto-scaling uses the AWS Application Auto Scaling service to dynamically adjust provisioned throughput capacity on your behalf in response to actual traffic patterns.
I hope now you might have an understanding of how Amazon DynamoDb is more powerful than other NoSQL Databases!