Reviews (1-25 of 34)
- Great performance even with large scale applications.
- We don't need to manage any backend servers, everything is a one-click solution in their dashboard.
- Support great reliability and scalability while supporting ACID transactions.
- The costs can be huge if the resource is not monitored properly. We had to crank it down during off-peak hours and again increase the throughput during high usage intervals.
- While the time of usage, DynomoDB did not support different region backup. The backups were only within the same region.
- Best suited for key-value type of operations only. Won't work particularly great for relational operations.
1. It is managed, no need to invest in time or resources to do the upgrades or worry if it is up or not.
2. It has predictable performance.
3. Sits well with the other components of AWS.
4. It has multiple interfaces to connect and work on.
5. Automatic partition support.
6. Gives great scalability especially during peak performance needs.
- It is easy to set up from the scratch, since it's a fully managed NoSQL database-as-a-service from AWS.
- Data sharding is automatic, making it easy to maintain in the long run without the need for provisioning for capacity upfront.
- Being multi-modal (supports both key-value and document), query performance is worse than purely key-value store DB. Query performance can be improved.
- There is no control over how the data is portioned which makes it hard from a compliance perspective. Adding some kind of dashboard for this in the management console will help.
- Serverless webapps, mobile apps, all backend storage.
- Scalable proyects.
- Low latency, high performance.
- High level of security with real-time encryption.
- Great capacity for compression of information backup.
- Store information with high performance algorithms, in B trees and hashing.
- In my opinion it is a tool with a very high value so it is difficult for me to find at this moment where it can improve, it has been in the market for many years, and it has been quite updated since its inception so it has been significantly improved.
- It's part of the AWS family, and our entire platform is built on AWS and using a solution from AWS itself was one of the top priorities.
- Scalability and availability - Since its a managed solution we do not have to worry about scaling or the reliability of the database.
- Simple scalability and key-value storage.
- Building a real-time database using DynamoDB streams.
- Storing JSON data.
- Implementation was harder than relational databases.
- Querying is sometimes a nightmare.
- Backup and restore are not straightforward.
- Amazon DynamoDB is particularly useful when you do not have a very structured data or you just want to enter key-value pairs and not worry about the fine-tuning of the database.
- It is great choice for the websites, mobile apps, and other variants where the throughout is very crucial along with low latency and could handle an increasing volume of traffic without going down or seeing a drop in performance.
- Another awesome feature is that it requires no maintenance, no backups, no dedicated server instances in that it is provided as an AWS service. It integrates so very well with other AWS components like AWS Lamada, and AWS API Gateway etc.
- Querying the data on Amazon DynamoDB is not as easy or straightforward as it in SQL based databases. It requires a steep learning curve to get more accurate and meaningful results.
- You need be wary before you start using this product because the cost might get high very quickly if you perform a lot of querying or read/write operations on the metadata or semi-structured data that you host.
- It doesn't support joins, which can be an issue for people who have been using SQL for long. So, if you want to apply joins then you can either do it in the memory or by duplicating data and denormalizing.
It also encrypts the data with the latest security algorithm available and our customers are also quite relaxed knowing that their data is stored on Amazon cloud and it secured by Amazon.
- Very easy to scale as you grow.
- Great performance compared to running your own IT infrastructure.
- Extremely reliable and fault-tolerant.
- Easy setup and great migration tools.
- If not managed properly the costs can give you a nose bleed.
- Backing up needs to be more refined and easier to setup.
- Has a learning curve.
Essentially, we can give users reliable low latency access to their personalized content even as our traffic has multiplied.
- Scales well.
- Low latency.
- Allows for some data structures (e.g. sorted data using range keys).
- Better batch support in APIs. (e.g. multiple Query calls).
- Update support for nested attributes.
- Sets and other data structures.
- It's very easy to get started, creating a table with a partition/sort key and you're on your way.
- You can scale up and down your read/write IO as needed.
- You can store structured and unstructured data.
- It works great with Web Development as it's JSON based.
- There is a cost associated with creating indexes and being able to run queries.
- It would be nice to have a thick client to be able to connect and work with DynamoDB.
- It would be nice to be more aware of how DynamoDB functioned to be able to engineer towards optimization.
We have Lambda functions that write information to DynamoDB, which triggers other lambda functions to index that data in both SQL databases as well as Algolia for advanced searching and facet support.
DynamoDB helps us support the very random access patterns that we receive for content. Some days we process almost no stories, while other days we process hundreds of thousands of stories. With DynamoDB, we can automatically scale to whatever needs the day might have.
- Automatic Scaling (especially with the new on-demand capacity mode).
- Simple querying of massively large databases.
- Effortlessly store a relatively unlimited amount of information.
- Very cost effective for random access patterns.
- Complex searching (no support for case-insensitive or full-text search).
- Only supports up to two-key indexes.
- Requires choosing the indexes up-front when doing searches.
- Does not have an SQL compatible query front-end.
- No join-table support (requires putting all data into one table).
Unlike traditional SQL or Relational databases, DynamoDB is designed to have all relevant information within a single object. If not properly planned, this can lead to issues when building out a front-end. DynamoDB does not have join table support, nor does it support complex searches or "count" style responses. It is eventually consistent, although they recently did introduce Transaction support, there is no "rollback" option.
- Pro: Scalable to Infinity. There are no problems with data when it comes to DynamoDB. We set up a script in our monitoring application that would automatically allocate more storage through the AWS API's whenever our capacity hit 80% of allocated storage.
- Pro: Easy Setup. DynamoDB will automatically scale horizontally and vertically (if requested) with no maintenance or human intervention required. Set it up once and it will run forever.
- Pro: EMR integration. If you use Elastic Map Reduce for your analytics, DynamoDB will integrate nicely.
- Cons: NoSQL limitations. You can only do ~1MB queries and ~64kb of row size, something that will become a real bottleneck as your database grows and your queries become more complex. NoSQL also means that querying non-indexed data is incredibly limited and will often become completely impossible when your table grows. This is why my team opted for DynamoDB as a temporary solution until we finalized our RDS options.
- Cons: AWS limitations. You can only deploy this on AWS, meaning access from Azure or GCloud is going to be more of a challenge and a security risk. I would not recommend DynamoDB unless you already have your infrastructure on AWS.
- Cons: Backing Up. Backing up is quite tedious on DynamoDB compared with RDS. While RDS can be as simple as a button click, DynamoDB can take hours of tedious work. AWS gets around this by horizontally scaling your instances, but any good team is going to want to back up their data and on DynamoDB that will be postponed as long as possible.
The worst case, I would think, is the use cases when the data is strictly structured and interrelated. Also when the volumes are not so great or the project is small and there can be budgetary concerns.
- Auto-scaling is the best feature which no other product offers.
- Predictable performance with good latency metrics.
- Its 100% server-less and fully managed which makes engineer's lives easier.
- Global Table is not the best solution yet and needs to be improved.
- Does not do well in the case of globally replicable counters.
- Cost of GT might be excessive and not feasible for most companies with big production-write workloads.
We are using Dynamo widely for session management and product catalog user profiles.
- Pay as you go, no upfront payment
- You can scale down your table to 1wcu 1rcu which bring its cost to a few dollars a month.
- Configuring auto-scaling
- Support to burst traffic
- Database as an API, so it can be easily integrated with the application.
- Wide support with other AWS services.
- A limited number of primary and secondary indexes.
- Poor performance for batch retrieval.
- Very bad support for operation where the aggregation is needed (sum, avg, min, max).
- No Joins, (it's not made for join).
- It's fast. VERY fast. We still house our data that needs to be accessed quickly here.
- It's a flexible NoSQL solution
- It has unlimited scalability and you can use only what you pay for.
- There is very minimal tooling for it compared to other mature solutions. You must go through the AWS dashboard to access what you need.
- The throughput model for charging can make it very difficult to effectively read and write. It's good for small consistent loads, but does not handle spikes and can not transferring large amounts of data. Once you have data in Dynamo, it's very difficult to transport it out at a reasonable cost - very annoying if you want to move data to a different type of storage.
- It gets expensive very quickly. We thought it would be cheap, but any kind of reasonable load will shoot your costs up beyond what you would have paid for other solutions.
- The data is very rigid. You must follow their model of declaring indexes and they can't be updated once the tables are created.
- DynamoDB is fully-managed. In the early days, it lacked features like backups, and developers had to either implement some of their own backup functionality or live dangerously. Today, DynamoDB's claim to be fully-managed is more credible. Backups can be configured through the console. Table capacity does not even need to be planned anymore; you can scale (and pay) on-demand.
- DynamoDB is inexpensive for some use-cases. In particular, DynamoDB is very inexpensive when you create a datastore for a low-volume micro-service, or a stateful background job. DynamoDB is much less expensive than RDS or Elasticache for these use-cases, and it allows developers to design systems without worrying about cost.
- DynamoDB is fast when used for the use-cases it was designed for.
- DynamoDB supports the development experience and testing reasonably well. AWS provides an official DynamoDB image that can be used in tests locally or in CI.
- Capacity planning can be difficult, but it is probably a worthwhile exercise in itself. However, today you can scale tables on-demand without capacity planning.
- Migrations can be slow and difficult. If you need to change your schema (e.g., add a secondary index) after you have written a large volume of data to the table or after consumers of the data are live, migrating can be expensive. Tooling for DynamoDB migrations is less mature than tools for migrating other datastores.
- The API is complicated, and third-party wrappers, like PynamoDB, are immature.
- Scanning tables is slow and expensive. It is important to anticipate all of the types of queries you will need to support and design your schema accordingly.
- Provisioned through-put pricing. You pay for the bandwidth you need.
- Simple API for developers to use.
- Managed by Amazon, high availability, and high durability.
- Pricing is based on through-put units, which can be tricky to understand.
- DynamoDB can autoscale up, but applications must guard against running up against provisioned throttling limits.
- High throughput use cases can get expensive quickly.
For highly volatile access patterns, DynamoDB will require you to over provision you throughput, paying for bandwidth you may not utilize.
I feel they lack Amazon's strong type checking. So I feel they need to work a bit on this part. I've also used DynamoDB on the local system but they need to add more flexibility to the local system. Overall, I feel if you are planning 1 million/min queries then it's perfect for your usage.
- The usage of hash and range keys to retrieve flat objects is a plus
- Very easy usage with CloudFront and Elastic Beanstalk.
- Using Amazon CloudWatch monitoring on Amazon DynamoDB is always a good point.
- I feel they need to improve in strong type checking
- The relational database is tough to migrate so this might be a no for you.
- I feel the local setup is a good idea for testing but some improvements are sorely needed.
Amazon DynamoDB Scorecard Summary
Feature Scorecard Summary
About Amazon DynamoDB
Amazon DynamoDB is a key-value and document database that delivers single-digit millisecond performance at scale. It's a fully managed, multiregion, multimaster, durable database with built-in security, backup and restore, and in-memory caching for internet-scale applications. The vendor states that DynamoDB can handle more than 10 trillion requests per day and can support peaks of more than 20 million requests per second.
They further state that many of the world's fastest growing businesses such as Lyft, Airbnb, and Redfin as well as enterprises such as Samsung, Toyota, and Capital One currently depend on the scale and performance of DynamoDB to support mission-critical workloads.
And they provide that hundreds of thousands of AWS customers have chosen DynamoDB as their key-value and document database for mobile, web, gaming, ad tech, IoT, and other applications that need low-latency data access at any scale. They invite potential users to create a new table for any application, and let DynamoDB handle the rest.
Amazon DynamoDB Screenshots
Amazon DynamoDB Videos (2)
Amazon DynamoDB Competitors
Amazon DynamoDB Support Options
|Free Version||Paid Version|
|Video Tutorials / Webinar|
Amazon DynamoDB Availability
|Geography:||Global, North America, South America, Europe, Africa, Asia, Australia|
|Supported Languages:||English, German, Spanish, Italian, Japanese, Portuguese, Chinese, Korean, French, Mandarin Chinese|