Amazon DynamoDB is a cloud-native, NoSQL, serverless database service.
$0
capacity unit per hour
Percona Server for MongoDB
Score 8.4 out of 10
N/A
Percona Server for MongoDB is a free and open-source drop-in replacement for MongoDB Community Edition. It combines all the features and benefits of MongoDB Community Edition with enterprise-class features from Percona. Built on the MongoDB Community Edition, Percona Server for MongoDB provides flexible data structure, native high availability, easy scalability, and developer-friendly syntax. It also includes an in-memory engine, hot backups, LDAP authentication, database auditing, and log…
It’s great for server less and real-time applications. It would be great for gaming and mobile apps. However, if you need relational database and have fixed budget, do not use it. While budget can be managed, you need to be careful. Also this is not a tool for storing big data, there are other wide-column database types you could use for it ins the ad
It offers good support for the implementation of solutions in the public and on-premises cloud and integration with other services such as Hashicorp Vault for data encryption. One of the main advantages is the ease of configuration, in addition to offering transaction support for the different operations and scalability of the servers.
It's core to our business, we couldn't survive without it. We use it to drive everything from FTP logins to processing stories and delivering them to clients. It's reliable and easy to query from all of our pipeline services. Integration with things like AWS Lambda makes it easy to trigger events and run code whenever something changes in the database.
Functionally, DynamoDB has the features needed to use it. The interface is not as easy to use, which impacts its usability. Being familiar with AWS in general is helpful in understanding the interface, however it would be better if the interface more closely aligned with traditional tools for managing datastores.
One aspect to improve is the user experience since sometimes the steps to take are not clear and the user may need to review some of the actions before continuing with the next ones. Another aspect to improve is the documentation and support for developers who want to know the tool.
It works very well across all the regions and response time is also very quick due to AWS's internal data transfer. Plus if your product requires HIPPA or some other regulations needs to be followed, you can easily replicate the DB into multiple regions and they manage all by it's own.
It offers good support for the implementation of solutions in the public and on-premises cloud and integration with other services such as Hashicorp Vault for data encryption. Also, it offers support for different compatible programming languages such as C, C ++, Java, as well as offering good support for the persistence of schema-free data and the possibility of saving data in memory.
The only thing that can be compared to DynamoDB from the selected services can be Aurora. It is just that we use Aurora for High-Performance requirements as it can be 6 times faster than normal RDS DB. Both of them have served as well in the required scenario and we are very happy with most of the AWS services.
At the performance level, it is similar to other solutions such as MongoDB and Percona Server for MySQL. and at the customization level, it offers better support for the development of specific solutions that seek good performance in transactions.
I have taken one point away due to its size limits. In case the application requires queries, it becomes really complicated to read and write data. When it comes to extremely large data sets such as the case in my company, a third-party logistics company, where huge amount of data is generated on a daily basis, even though the scalability is good, it becomes difficult to manage all the data due to limits.
Some developers see DynamoDB and try to fit problems to it, instead of picking the best solution for a given problem. This is true of any newer tool that people are trying to adopt.
It has allowed us to add more scalability to some of our systems.
As with any new technology there was a ramp up/rework phase as we learned best practices.