Amazon DynamoDB

Amazon DynamoDB

About TrustRadius Scoring
Score 8.4 out of 100
Amazon DynamoDB


Recent Reviews

Why DynamoDB is right for you?

9 out of 10
April 06, 2020
Ours is a marketing technology division. We have a lot of real-time data as well as non-real-time data that is derived from batch systems. …
Continue reading

Great NoSQL service from AWS

10 out of 10
January 10, 2020
DynamoDB is used by one of the many departments of our company. We were looking for some sort of NoSQL database to use to store some …
Continue reading

DynamoDB is great

8 out of 10
October 29, 2019
We store user-generated content in DynamoDB. It allows us to store large quantities of data without the headaches of scalability. Our …
Continue reading

NoSQL on steroids

10 out of 10
June 21, 2019
We are using Dynamo DB across multiple projects including new applications to be developed or modernizing a legacy application. It …
Continue reading

Reviewer Sentiment

Positive ()
Negative ()
Learn how we calculate reviewer sentiment


TrustRadius Award Top Rated 2020
TrustRadius Award Top Rated 2019
TrustRadius Award Top Rated 2018

Popular Features

View all 7 features

Availability (25)


Security (25)


Performance (25)


Data model flexibility (25)


Reviewer Pros & Cons

View all pros & cons

Video Reviews

Leaving a video review helps other professionals like you evaluate products. Be the first one in your network to record a review of Amazon DynamoDB, and make your voice heard!


View all pricing

Provisioned - Read Operation


capacity unit per hour

Provisioned - Write Operation


capacity unit per hour

Provisioned - Global Tables


per Read Capacity

Entry-level set up fee?

  • No setup fee
For the latest information on pricing, visit…


  • Free Trial
  • Free/Freemium Version
  • Premium Consulting / Integration Services

Features Scorecard

NoSQL Databases


Product Details

What is 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 in the AWS Console

Amazon DynamoDB Videos

AWS re:Invent 2019: Data modeling with Amazon DynamoDB (CMY304)
What is Amazon DynamoDB?

Amazon DynamoDB Competitors

Amazon DynamoDB Technical Details

Deployment TypesSaaS
Operating SystemsUnspecified
Mobile ApplicationNo
Supported CountriesGlobal, North America, South America, Europe, Africa, Asia, Australia
Supported LanguagesEnglish, German, Spanish, Italian, Japanese, Portuguese, Chinese, Korean, French, Mandarin Chinese


View all alternatives

Frequently Asked Questions

What is Amazon DynamoDB?

Amazon DynamoDB is a NoSQL database, from Amazon Web Services.

What is Amazon DynamoDB's best feature?

Reviewers rate Availability and Security highest, with a score of 9.9.

Who uses Amazon DynamoDB?

The most common users of Amazon DynamoDB are from Enterprises (1,001+ employees) and the Computer Software industry.

Reviews and Ratings




(1-25 of 35)
Companies can't remove reviews or game the system. Here's why
Score 10 out of 10
Vetted Review
Verified User
Review Source
DynamoDB has made it quick and easy for us to prototype and build out our new features. We've spun up a few microservices hosting the data in DynamoDB and the NoSQL database has made our architecture very flexible and future-proof. It's been an easy way for us to denormalize parts of our data and start stripping out parts of our monolith and implementing it in microservices.
  • Great documentation.
  • Quick and easy to use.
  • Scales well with our use cases.
  • Querying functionality is limited which limits our use cases.
  • Limited resources to train developers from adjusting SQL to NoSQL.
  • Can be costly for projects where we have to spin up many environments.
In my experience, we've found that DynamoDB has made it very easy for us to denormalize data and transition those pieces of data/functionality to AWS. The NoSQL structure makes it much simpler for us to implement data sharing use cases versus our existing implementation of SQL. Outside of these cases, we haven't found a big enough advantage over our current SQL structure to warrant switching over.
I haven't dealt with the support for Amazon DynamoDB personally.
Score 9 out of 10
Vetted Review
Verified User
Review Source
Ours is a marketing technology division. We have a lot of real-time data as well as non-real-time data that is derived from batch systems. We use Dynamo DB to address both these needs. Dynamo DB has provided us great scalability and reliability. The best reason why we like DynomoDB is that we don't have to manage anything and it all being done for us in a cost-effective manner.
  • 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.
Here are the few reasons to highly choose DynamoDB:
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.
Score 9 out of 10
Vetted Review
Verified User
Review Source
Amazon DynamoDB is being used in a big data application we wrote in house where the data isn't transactional and the velocity is too high to store in our transactional databases. We're collecting forms data from our company website provided by potential customers so we absolutely need the data, it just doesn't have to be in order or transactional.
  • Velocity
  • Low management overhead
  • It is a tad pricey
Amazon DynamoDB is a NoSQL database so use it to collect big data that comes in at a high velocity and don't expect it to handle a transactional workload.
Score 8 out of 10
Vetted Review
Verified User
Review Source
Amazon DynamoDB is used for handling non-relational database workload that includes events and IoT specific data for analytics purposes company wide, full managed at AWS.
  • 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.
Amazon DynamoDB is very well suited when you are already running other Amazon services and/or already have the data in AWS. It is also well suited when the queries are simple and there is no need to file tune the underlying infrastructure. It is not well suited when the amount of data is very large and there is some expectation of the capacity needed upfront without any major peak workload considerations.
Score 10 out of 10
Vetted Review
Verified User
Review Source
DynamoDB is used by one of the many departments of our company. We were looking for some sort of NoSQL database to use to store some operational data and user records. We were implementing some AWS services and got to know DynamoDB. After careful study, we decided to use it to solve our problem.
  • It is compatible with MongoDB.
  • It is fast.
  • It is scalable. we do not have to worry about outage.
  • MongoDB is not fully compatible
  • Some functions are limited
  • Can be hard to learn
If you are in a company that seeks to implement NoSQL service to save the hassles of a relational database, DynamoDB is the service to use. Especially if you use Amazon Web Service already. It can be a huge help to your company's data structure. It saves you a lot of money as you pay as you go.
Score 8 out of 10
Vetted Review
Verified User
Review Source
Amazon DynamoDB is being used as a fast non-relational key-value data store for data analytics and other functions within our internal applications. It is being used by our Data Science, Analytics, Business Intelligence, and Engineering teams. It solves the problem of needing a reliable non-relationl data store.
  • Data storage.
  • Non-relational data.
  • Interface.
  • Documentation.
Good for times where a non-relational database is needed and speed is an absolute must. If the data is relational like SQL, then DynamoDB does not work as well for the purposes that the service serves.
Score 9 out of 10
Vetted Review
Verified User
Review Source
We use DynamoDB as the back-end database for our content organization. It provides great scalability, reliability, and ease of use for our Development department. We have been able to cut costs significantly and improve reliability by migrating from an on-prem MS SQL infrastructure to a completely cloud-based infrastructure.
  • 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.
Amazon DynamoDB is great for mid to enterprise-level organizations. The ease of setup, performance, and reliability are key factors to our organization. For organizations that are smaller than mid to enterprise-level, the cost of running DynamoDB compared to on-prem could get very expensive.
October 29, 2019

DynamoDB is great

Score 8 out of 10
Vetted Review
Verified User
Review Source
We store user-generated content in DynamoDB. It allows us to store large quantities of data without the headaches of scalability. Our other data is stored in a relational database and we are constantly scaling it up to larger instances but with DynamoDB we set autoscaling years ago and it just chugs along. 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.
A simple key-value store, with properly distributed keys, works pretty well with DynamoDB. However, where it really shines is when effective range keys are used. Anything with semantic ordering works really well, but even multiple documents of scoped data work pretty well. As with all things DynamoDB, you have to be very intentional with your partition key.
Rahul Malik | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Review Source
Amazon DynamoDB is a fully managed proprietary NoSQL database service. In other words, it is a non-relational database service. It works on the basis of key-value pairs. The best feature of the product is the performance it delivers - single-digit millisecond latency makes it perfect for websites, mobile, and many other applications. The noteworthy feature is that it can scale to any limit you want, you do not have to know everything before the project starts, you can grow the database as the project demands or descale it too. You should go for this product when you have very low latency toleration and performance plus availability and scalability are the top priorities.
  • 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.
Amazon DynamoDB is very well suited for applications where the data is in semi-structured, unstructured, or basically in a key/value model. It is also an apt choice if you have a need for high performance, low latency, auto-scaling and cost-effective solution where you don't need to buy any inventory or server or memory space in advance for the whole lifecycle of the project. It doesn't require any installation and is serverless as well. It basically comes into the ecosystem of Amazon Web Services. So, if your data is located on Amazon or you are already making use of AWS then this can be a perfect fit for your project
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.
Arjun Komath | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Review Source
Amazon DynamoDB is currently being used as one of our primary databases for several mobile and web applications. Key factors that directed us to choose Amazon DynamoDB are:

  • 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.
If your database doesn't have any relations DynamoDB would be an ideal solution. Consider it more as key-value storage rather than a database, so it ideal for storing something based on a key and fetching it back using that key. But if you have relations or complex data-based queries DynamoDB might not have a straight forward solution.
Winston Mendes | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Review Source
DynamoDB is an excellent tool that is used by the software development department, and web development has allowed us to develop applications and web pages, serverless, quickly and easily with a high level of performance, very fast and secure connection, It has been quite useful for us to implement NoSQL databases, and it is excellent for scalable projects, since we can increase memory resources as they are needed. It is quite comfortable and easy to work, since its confuration is simple, and it integrates easily with the entire aws environment.
  • 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 is ideal for those projects where you need to store a large amount of data, but you do not know how many will be so you need the database to increase its storage capacity together with the number of users, without having to spend extra money, it also has a great potential thanks to the fast connection it offers, so the data travels at high speed, and this speeds up the performance of the applications, excellent for projects where non-relational databases are used and what matters is to store large quantities of information and use them at high speed.
Score 8 out of 10
Vetted Review
Verified User
Review Source
We use DynamoDB as a database for one of our products. It solved the problem of processing data coming from different customers in different individual formats. Each client can upload files, with any number of fields, of any type. We ingest this data into DynamoDB and process is using lambda functions from there.
  • Speed of writing data.
  • Dealing with unstructured data.
  • Large, almost limitless volumes of data.
  • Cost - it gets pretty expensive, fast.
The best scenario is when one needs to deal with very large volumes of data in inconsistent formats.

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.
Score 8 out of 10
Vetted Review
Verified User
Review Source
DynamoDB is used across the Engineering department. The biggest use case was introduced by me a couple of years back where our largest production workload was migrated to DynamoDB from Cassandra. More can be found here:
  • 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.
Amazon DynamoDB is well suited for high-traffic workloads which vary across the day. The autoscaling feature helps to reduce the running cost for off-peak hours.

It is not suitable for counters especially when they need to be replicable. The item size is also important. If it's trying to read too much, it might not give the best performance.
June 21, 2019

NoSQL on steroids

Score 10 out of 10
Vetted Review
Verified User
Review Source
We are using Dynamo DB across multiple projects including new applications to be developed or modernizing a legacy application. It addresses the business problem of offering a durable scalable document store.
  • On demand capacity
  • Easy to use SDK
  • Easy integration with other AWS services
  • Better filtering options are needed
Cloud-native serverless applications get accelerated when using Dynamo DB.
Bob Smith | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Review Source
DynamoDB is being used in multiple ways to store vast amounts of semi-structured data which need to be quickly accessible by specific parties. It allows us to easily add new fields/values and access them in an easy manner as projects require. The biggest benefit we see is the ability to add additional fields and not require the structure change of continuity.
  • 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've used DynamoDB to store online form submissions where forms can have differing information, identify changes between data sets, storage for vast amounts of large data-sets for analytics. Each of these scenarios has pros/cons versus using other traditional methods. It is more about accomplishing what you need to. DynamoDB allows for an increase in Read/Write IOs and allows scalability that some other traditional methods do not. Though it doesn't include some of the nice structure that traditional methods.
Score 9 out of 10
Vetted Review
Verified User
Review Source
In our organization, we are moving towards server-less for our in-house application as well as suggesting the same to the client. Dynamo being a serverless NoSQL database plays a key role in our application architecture.
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).
We are using Dynamo for session management in a web application, storing the product catalog, storing questions(different question types in a survey, subjective-objective, single select multiple select), storing survey responses, storing email templates, and storing application logs.

Score 6 out of 10
Vetted Review
Verified User
Review Source
It was used as our primary data store for a link sharing and user profile-based application. We chose it for its speed and scalability as well as what we perceived beneficial pricing model. We knew that we wanted to use a NoSQL solution, and having one that was hosted by AWS seemed like an ideal fit.
  • 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.
It's a very good database for specific use-cases, but you should know full well what you are getting into with it. You are stuck doing things the Amazon way and paying much more than other options. If you need speed, have the money, and fully understand your indexes, it's top notch. If you care more about tooling, known costs, and stability, another solution might be better.
Score 10 out of 10
Vetted Review
Verified User
Review Source
We use DynamoDB for our project VacationTracker. We decided to use DynamoDB because it was cheap and the latency between our AWS Serverless microservices and DynamoDB is less.
  • Point-in-time recovery backup
  • Auto-scaling
  • Scaling horizontally
  • Only pay for what you use, its good for a startup project.
  • Price calculator, but for the startup project, it's free.
You should not worry about scaling with this tool. For beginners, it's not easy to understand how partition key and sort key work.
Marc Smith | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Review Source
We are using DynamoDB with a simple, singular purpose - storing basic information for our customer base such as settings and configuration options. It's a quick and easy way for us to store and fetch this simple data, and since we have a very large presence within AWS already, it's a natural fit.
  • Simple interface for setup
  • Works well within an existing AWS ecosystem
  • Fast
  • Nothing, so long as you're using it with the intended purpose of a quick, reliable NOSQL DB
Fast, reliable access to a large amount of data has been key for us. However, if you're looking for a traditional relational database, this is certainly not the place to look. I'd also recommend this solution regardless of whether or not you're existing infrastructure is already in AWS or not - I'd say it's a good fit for any setup.
Dylan Cauwels | TrustRadius Reviewer
Score 7 out of 10
Vetted Review
Verified User
Review Source
DynamoDB was used by our enterprise data platform team to store data in forms that would often change over time. It was a great NoSQL option for us since the entire team was already on AWS anyways and acquainted with its UI. While it had many advantages, DynamoDB was more of a niche solution for us since, as a data platform, we required the more advanced query and indexing capabilities of an RDS database. DynamoDB was never a permanent solution for us, only a temporary place-holder until we had the database schema finalized for an RDS database. Because of its elastic nature and ease-of-use to set up with our existing infrastructure, it worked well for our team.
  • 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.
Great for temporary data storage or data that has a particularly short lifecycle and can be processed then disposed of quickly. I would not recommend DynamoDB for any long-standing applications or user-based systems. DynamoDB data should be ingested, processed, analyzed, then removed. The infrastructure setup allows for confidence that your data will be there when you need it but only for a short period of time. Backups are not worth the effort, so keep that in mind.
Chris Moyer | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Review Source
We've been using Amazon DynamoDB since it was released in 2012. Previously, we used Amazon SimpleDB, which was much slower and slightly more difficult to work with than DynamoDB. DynamoDB is our "Source of Truth" for all data stored within my company, and is used to store all of our administrative information (such as connection details, FTP account information, and contact information), as well as the blog posts that we receive and process.
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).
Amazon DynamoDB is absolutely the easiest and most efficient way to run a Non-Relational database. It's perfectly suited for a "source of truth" where other indexes might be built from data stored in DynamoDB, and for use where search patterns are predictable. It's also incredibly effective at storing relatively unstructured data, or data models that might frequently change. As it does not require a rigid definition of data beforehand, it makes adjusting data stored in the table a non-effort, but it does require some planning when looking at how to get data back out of the 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.
Score 10 out of 10
Vetted Review
Verified User
Review Source
DynamoDB is really used across quite a few different departments at our company. It's an extremely simple NoSQL database that can be spun up instantly. We use it for every single one of the applications my team has developed. We store session information in there temporarily either for users or for currently running background processes. We also store some long term information in DynamoDB that would normally belong in a relational database, but it was much easier for us to use DynamoDB to store it.
  • Easy to start
  • Easy to query
  • Easy to delete
  • Zero maintenance
  • Cost is a bit of an issue
  • Query API is a little confusing
  • Indexes are a challenge
DynamoDB is great for any situation where you need to store some piece of data temporarily. User sessions in a web app is a great example. You can also store information more permanently if you don't need to do complex queries on the data or always know the ID of what you're looking for. In our situations, we've made the mistake of putting data into DynamoDB and realized later that we needed to query the data with a more complex, relational type of query and discovered we could not efficiently do so. So, if your queries are simple, DynamoDB can be a really simple straightforward solution.
Score 8 out of 10
Vetted Review
Verified User
Review Source
The engineering and data teams use DynamoDB to persist data for some of our services. We use it as an inexpensive, fully-managed key-value store. The business problem it primarily addresses is developer velocity. With DynamoDB, developers do not need to configure and manage a database; even RDS requires some more configuration and on-going maintenance than DynamoDB. DynamoDB is inexpensive; it allows developers to adhere to practices like one-database-per-service when building even small, temporary services.
  • 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.
DynamoDB is great for two cases. The first is for services that do not experience high loads or demand high availability. DynamoDB is inexpensive, and it provides great developer velocity. The second is for applications that demand high performance, have well-understood requirements, and a narrow range of queries.
Richard Rout | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Review Source
We use Amazon DynamoDB as a scalable solution for NoSQL related storage of data. It has the benefit of still requiring a schema so it can guarantee your data shape, but it's not as loose or flexible as a JSON database.
  • Scalable data storage
  • Solid DB schema
  • Amazon's reliability
  • Not as flexible as something like Firebase
  • Has a learning curve
  • Ties you into AWS infrastructure
It's no replacement for a SQL database, but if you want a NoSQL data storage solution with some rigidity, it's the one to go for.
AYUSH VERMA | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Review Source
Amazon DynamoDB is just the best NoSQL database. I really love the interface and scalability. The best part is vertical scaling. It's just very affordable and making queries is very easy. Using Amazon's Boto3 API is a good source for proxying queries and requests. Third party module and support are good too. I am really using because they are adding new indexes to the table, making it fast and intuitive for prototyping.

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.
I feel when you are using very large data sets and high query parameters then it is surely a good idea. So just go for DynamoDB. It has a beautiful API to talk to it. So, AWS DynamoDB is always a plus over other NoSQL.