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…
Well suited: DynamoDB is ideal for web and mobile applications that experience rapid and unpredictable traffic spikes. Its ability to auto-scale in response to demand ensures consistent performance under heavy loads. DynamoDB is well-suited for managing user sessions and user profiles in applications, ensuring quick access to session data without compromising performance. Less appropriate: DynamoDB is optimized for storing structured data but may not be the best choice for storing large binary files like images, videos, or documents. In such cases, using a dedicated storage service like Amazon S3 is more appropriate. If your application has consistent and predictable workloads that do not require frequent scaling, the cost-effectiveness of DynamoDB's on-demand pricing model may be less appealing compared to provisioned capacity.
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.
For us, it performs well in most of the regions. It surely provides a seamless experience as it has greatly helped in us providing real-time analysis on huge datasets which has greatly reduced time to customer which was not the case before. It is responsive at all scales for sure.
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.
Comparing RDS and Dynamo is not fully Apples to Apples comparison. RDS is a more flexible cloud-native solution that supports a wide range of engines that are relational. It is great for running older DB types like Oracle in the Cloud. Because it supports multiple engines, it is a popular choice for doing hybrid design between Cloud and On-Prem. DynamoDB is a Key Value database option, which shares some of the performance and security that RDS does with a more specific focus/use case.
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.
DynamoDB is very easy to scale. It is easy to log into the UI console and create tables according to scalability needs. My personal experience with DynamoDB has been excellent since I had little to no experience, but the documentation and industry support are excellent, and any developer can readily pick it up to use for developmental purposes.
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.