TrustRadius
Amazon DynamoDB is a NoSQL database, from Amazon Web Services.https://dudodiprj2sv7.cloudfront.net/product-logos/C0/WR/W80NNOPOBR1E.pngDynamoDB is *the* Non-Relational database for the Serverless ageWe'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).,10,It's cheaper for us than running SQL databases. We never need to worry about our core pipeline or backups. DynamoDB is highly reliable and always available. We have some issues with complex queries, and gathering statistics.,Amazon SimpleDB, Amazon Aurora, Algolia and MongoDB,Amazon Aurora, Algolia, AWS Lambda,10DynamoDB is a great No-SQL solutionDynamoDB 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.,7,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.,MongoDB, Cassandra and Apache Solr,Amazon Relational Database Service, Amazon Elastic Compute Cloud (EC2), Amazon CloudFront, Amazon Elastic MapReduce, Amazon ElastiCache, Amazon S3 (Simple Storage Service), Amazon Route 53, Apache Solr, Oracle Java SE, Eclipse, Apache Tomcat, Apache Maven,10DynamoDB: An interim solution for rapidly-growing infrastructureDynamoDB 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.,7,DynamoDB allowed us to quickly launch applications and data ingestions that we thought would take months to implement. While it turned out to be an unfruitful DBaaS system to support an application, its quick launch and self-sustaining capabilities allowed it to work effortlessly while our DevOps team could focus on more permanent application solutions.,Amazon Relational Database Service, Jenkins, Ansible,8DynamoDB - you want a NoSQL solution, this is a no brainerWe 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,9,,Amazon Elastic Compute Cloud (EC2), AWS Lambda, Amazon Relational Database Service, Amazon S3 (Simple Storage Service), Amazon API Gateway,10Impressive when used as designed; otherwise, riskyThe 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.,8,DynamoDB has increased developer velocity because developers do not need to build and manage datastores. DynamoDB can be extremely inexpensive for some use-cases, such as non-critical, low-volume applications that need a simple datastore. DynamoDB has allowed us to adhere to design patterns like one-database-per-service that we might have violated if we had to pay for RDS.,Amazon ElastiCache, Amazon Relational Database Service and Amazon Aurora,Amazon ElastiCache, Amazon Aurora, Amazon Cognito, Amazon Glacier,8
Unspecified
Amazon DynamoDB
59 Ratings
Score 8.3 out of 101
<a href='https://www.trustradius.com/static/about-trustradius-scoring' target='_blank' rel='nofollow'>trScore algorithm: Learn more.</a>TRScore

Amazon DynamoDB Reviews

<a href='https://www.trustradius.com/static/about-trustradius-scoring#question3' target='_blank' rel='nofollow'>Customer Verified: Read more.</a>
Amazon DynamoDB
59 Ratings
<a href='https://www.trustradius.com/static/about-trustradius-scoring' target='_blank' rel='nofollow'>trScore algorithm: Learn more.</a>
Score 8.3 out of 101
TrustRadius Top Rated for 2019
Show Filters 
Hide Filters 
Filter 59 vetted Amazon DynamoDB reviews and ratings
Clear all filters
Overall Rating
Reviewer's Company Size
Last Updated
By Topic
Industry
Department
Experience
Job Type
Role

Reviews (1-20 of 20)

  Vendors can't alter or remove reviews. Here's why.
Chris Moyer profile photo
February 23, 2019

Amazon DynamoDB Review: "DynamoDB is *the* Non-Relational database for the Serverless age"

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.
Read Chris Moyer's full review
Bob Smith profile photo
February 22, 2019

Amazon DynamoDB Review: "DynamoDB is a great No-SQL solution"

Score 7 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.
Read Bob Smith's full review
Dylan Cauwels profile photo
February 23, 2019

Amazon DynamoDB Review: "DynamoDB: An interim solution for rapidly-growing infrastructure"

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.
Read Dylan Cauwels's full review
Marc Smith profile photo
March 01, 2019

Amazon DynamoDB Review: "DynamoDB - you want a NoSQL solution, this is a no brainer"

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.
Read Marc Smith's full review
No photo available
December 12, 2018

Amazon DynamoDB Review: "Impressive when used as designed; otherwise, risky"

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.
Read this authenticated review
No photo available
March 05, 2019

Amazon DynamoDB Review: "DynamoDB - Know you Absolutely Need it Before Committing"

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.
Read this authenticated review
No photo available
February 22, 2019

Amazon DynamoDB Review: "DynamoDB is everything you want in a NoSQL database service"

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.
Read this authenticated review
No photo available
March 02, 2019

Amazon DynamoDB Review: "DyanmoDB scaling and backup"

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.
Read this authenticated review
Richard Rout profile photo
September 26, 2018

Amazon DynamoDB Review: "DynamoDB is a great NoSQL storage solution"

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.
Read Richard Rout's full review
AYUSH VERMA profile photo
May 03, 2018

Amazon DynamoDB Review: "NoSQL is DynamoDB. Always."

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.
Read AYUSH VERMA's full review
Alan Balasundaram profile photo
February 05, 2018

Amazon DynamoDB Review: "DynamoDB - NoSQL with NoManagement"

Score 10 out of 10
Vetted Review
Verified User
Review Source
DynamoDB is a wide-column store. Various product development teams that are on AWS make use of it as a key-value store, when relational hierarchy isn't as important. Much like other cloud services, the benefit is once provisioned, the management aspect is wholly owned by Amazon. We evaluated and chose DynamoDB over running RDMS on RDS or even on our own EC2 as our use case provided significant cost savings. Our applications needed a resilient data store, but did not have relational data, nor did it have high throughput needs, allowing us to have a fully managed, and scalable store at a fraction of of cost.
  • 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 most use cases where utilization is fairly constant, DynamoDB provides guaranteed performance. With autoscaling, DynamoDB can handle bursty traffic. As bandwidth can be reprovisioned, it's great for use in the prototyping stage all the way up to production applications.

For highly volatile access patterns, DynamoDB will require you to over provision you throughput, paying for bandwidth you may not utilize.
Read Alan Balasundaram's full review
Anudeep Palanki profile photo
July 24, 2017

Amazon DynamoDB: "Limited SaaS solution that integrates seamlessly into Amazon ecosystem"

Score 8 out of 10
Vetted Review
Verified User
Review Source
We made a transition to using DevOps at our organization and AWS is our choice of cloud provider. For a new micro service we built, we need a NoSQL database, that provides basic querying capability and requires minimum maintenance. Considering that Amazon offers DynamoDB as software as a service, it is a de-facto choice for us. It is being used across departments for various micro services. Understanding the querying capability is critical in selecting a database and DynamoDB fits into a use case where we need to query the nested array within the first layer of JSON objects.
  • Security and managing infrastructure are the first reason why we selected DynamoDB. It takes quite an effort to set other NoSQL databases up in EC2 instances. Since DynamoDB offers single click table (Collection equivalent in MongoDB) setup, it's pragmatic to give this a first shot.
  • It provides decent querying capabilities with excellent documentation. If you have a JSON structure that's relatively flat (not more than 2 nested JSON objects) that needs querying, DynamoDB would be a great choice for you.
  • Neat CLI API that allows for easy setup in a local development environment would make the life of a developer a breeze. This again brings the benefit of having great documentation.
  • Better querying capability, we had a requirement where we wanted to index and query nested arrays. For example: our sample data structure: {a: [{b: ['array of interest' ]}]}. DynamoDB does not provide neat way to query the 'array of interest'. Hence we had to shift few of our Databases from DynamoDB to Postgres.
  • DynamoDB does not offer any sort of database functions or triggers that would help manipulate the data before performing a transaction. This is key for part of our NoSQL datastore. For example: we wanted to manually maintain consistency of order variable in a JSON array i.e. if we add an element to middle of the array, the order of rest of the elements should shuffle within a single transaction. This functionality leaves something to be desired from DynamoDB.
  • Transaction management is something that DynamoDB does not offer. For example: if we want to perform a read and write within a same transaction, DynamoDB does not offer this capability. Hence, DynamoDB is not a great fit for highly concurrent environment.
Amazon's DynamoDB is very well suited for:
  • Applications with a relatively flat data structure.
  • Relatively simple querying on data.
  • Scenarios where the developers do not have time to manage the database.
Less appropriate if the data:
  • Structure is complex and has object depth beyond 2 layers.
  • Requires indexing and querying on nested arrays.
  • Requires executing multiple queries within a single transaction.
Read Anudeep Palanki's full review
Justin Schroeder profile photo
October 13, 2017

Amazon DynamoDB Review: "An expensive coffin for you NoSQL data."

Score 4 out of 10
Vetted Review
Verified User
Review Source
We use dynamodb for to store and track millions of email messages sent by our sass product. Each email is unique, and in order to maintain a full record of our transactions with clients, we store, and recall each message that was ever sent using dynamodb. Because of the sheer scale and data size requirements it makes it very difficult to use traditional methods of recall, especially when you want the actual text of the email to be part of the database and not stored in offline storage.
  • Recall on primary hashes is very fast, with HTTP latency over the network we were regularly able to call up records in the 20ms range from a database of millions of records
  • Like other NoSQL databases Dynamo lets you easily and quickly add fields to each record without having to define a full schema.
  • Pricing is quite affordable as long as you are efficient with your queries. You really need to be doing hash lookups rather than scans since Amazon charges you per record accessed.
  • Query "language" leaves much to be desired. If you're coming from a database like MongoDB or SQL you'll find it extremely difficult to get data back out of the system without breaking the bank.
  • Because querying is poor, often the only way to get data out of arbitrary fields is by scanning the records – but the pricing model for this is cost prohibitive. This means you frequently need additional architecture to keep track of where data is stored in the hash table. While this is an issue for lots of NoSQL database, DynamoDB is probably the worst offender I've used to date because of the pricing model.
  • Amazon does offer a local version of DynamoDB you can run in development, but its an extremely clunky and very hard to integrate into any kind of continuous integration.
If you're absolutely locked into the amazon ecosystem and don't want to go through the work of having your own db instances – then this might be a good option for you.
Read Justin Schroeder's full review
No photo available
September 05, 2017

Amazon DynamoDB Review: "DyanmoDB - Helps you scale"

Score 8 out of 10
Vetted Review
Verified User
Review Source
My first use of Amazon DynamoDB was to create an audit log of user actions for our application. Since then, our team has also used Amazon DynamoDB to create a metric collection tool. Clearly SQL is not a great option for these types of data collection. Clearly the biggest problem Amazon DynamoDB solves is scalability. There is much less management required than with the rest of AWS offerings.
  • Amazon DynamoDB is infinitely scalable. It is fast and Amazon automatically allocates more resources.
  • No predefined schema is required. This ensures flexibility.
  • Minimum administrative cost since Amazon manages all that. This works for small companies since you don't need a DevOps headcount.
  • It's a NoSQL database. That means you lose all the capabilities of a traditional RDBMS model. You can't do joins to query data and you lose ACID properties.
  • DynamoDB does not support multiple indices. That means for certain queries, you need to do full table scans which is not desirable. There are work arounds for this.
  • The provisioned throughput doesn't degrade gracefully. That means that once you hit the limit, the requests are denied. It's tricky to come up with the limits of your application.
If you start with Amazon DynamoDB, you are over optimizing for the future. In my opinion, use Amazon DynamoDB only when SQL can not handle the load of your application.
Read this authenticated review
No photo available
September 14, 2017

Amazon DynamoDB Review: "Easy data storage but at what cost?"

Score 3 out of 10
Vetted Review
Verified User
Review Source
My company utilizes DynamoDb for storage of site traffic data for sites hosted on our product. We felt that a NoSQL solution from Amazon would be a great fit to store a massive amount of data because our already tightly integrated AWS hosted solution. This would solve the large problem of this data living in a standard SQL database which were increasingly becoming less performance.
  • Speed of data inserts.
  • Quick setup of tables and integration into code.
  • Automated system management
  • Ease of use, I had to search several non-Amazon tutorials to figure out setup.
  • Integration into RDBMS would be a great improvement. Currently to move data around you have to export it and reimport into your destination. You could use Amazon Data Migration services - but not very straight forward.
  • You only have once instance. If you want to group tables into a "database", you cannot do that.
Storage of data such as logs, where the data does not needed to be manipulated much or at all. The tables would need to be very simplistic. It would be less appropriate for complex systems since the ability to modify data is limited.
Read this authenticated review
Adam Lauer profile photo
May 06, 2016

Amazon DynamoDB Review: "Dynamo: Great benefits with hidden costs"

Score 6 out of 10
Vetted Review
Verified User
Review Source
It is a great way to store vast amounts of data for quick retrieval. Along with new features added to it like global secondary indexes, automated backups, and dynamo streams, it becomes a great cheaper alternative to SQL. We use it to hold any data we need stored with high reliability while still being able to access it sub second.
  • Fast retrieval
  • Auto scaling to control costs
  • Query and scanning allow for different use cases
  • Can get very expensive very fast
  • Sharding and hot spotting are hidden problems that can cause ALOT of head ache
  • Not relational or transactional at all
It is best for high demand over short periods of time and then being scaled down to save costs. This is kind of a pay for what you need model. This falls short though because while you can scale up unlimited you can only scale down 4 times a day which can be a limitation for some.
Read Adam Lauer's full review
Jordan Bayles profile photo
October 09, 2015

Amazon DynamoDB Review: "DynamoDB: a pain in the ass worth it for some use cases"

Score 8 out of 10
Vetted Review
Verified User
Review Source
Amazon DynamoDB is utilized by my company on a client-by-client basis to solve issues with responsiveness. We use it in conjuction with Amazon CloudSearch to provide extremely fast lookup and modification of entities that would otherwise be difficult to retrieve through a more traditional relational database (such as our current relational database at my current client, PostgreSQL).
  • Amazon DynamoDB excels at quite, intuitive object retrievals. The usage of hash and range keys to retrieve flat objects means it's easy to understand what you are going to get and how to map out objects into entities in your data access layer.
  • Amazon DynamoDB is great at adding new indexes to a table, making it fast and intuitive for prototyping.
  • The ability to use Amazon CloudWatch monitoring on Amazon DynamoDB is very helpful for managing data analysis and discovering issues without a large investment.
  • Because of the lack of relations in AmazonDynamoDB, mapping very complex objects that you would typically decompose into related entities is difficult. Amazon DynamoDB is typically not great for this use case.
  • Amazon DynamoDB doesn't do strong type checking (there is typing, but it's relatively limited), so depending on your language you may have to expend some effort to properly map an Amazon DynamoDB object to a programmatical entity.
  • Depending on how much need you have for Amazon DynamoDB's performance, it can be a major pain to maintain... especially if you also have a relational database. In my current project, we utilize Amazon DynamoDB alongside PostgreSQL and entities live in one, the other, or both as appropriate. Synchronizing the database is a pain point.
How performant does my solution need to be? Amazon DynamoDB is very fast.
What is the total scope of my entities? Do they need to be relational? If they serialize well as a flat entry, Amazon DynamoDB is a great choice.
Read Jordan Bayles's full review
No photo available
March 21, 2017

Amazon DynamoDB Review: ""Want to develop websites quick and scalable - use Dynamo DB""

Score 8 out of 10
Vetted Review
Verified User
Review Source
DynamoDB - A no SQL database has wonderful use cases. We use DynamoDB for our internal projects, and it is used widely across all our teams in their projects. The major business problem that DynamoDB achieves is that - the AWS SDK that is used to access DynamoDB programmatically is very user-friendly and easy to understand, however big and complex a web application is designed, all it needs is a basic CRUD operation and the SDK handles it very effectively. I think instead of spending hours with SQL DBs, dealing with JDBC/ODBC drivers, special clients, I think DynamoDB is a best alternative for quick and fast paced development.
  • Quick CRUD operations
  • Easy to maintain and manage
  • Cost Effective
  • Nothing much in particular, however I feel it would be nice if it provides additional features like pre-defined templates, quick user guides in the console itself directly.
Amazon DynamoDB is well suited for quick development of web applications and having DynamoDB as a backend database.
Read this authenticated review
No photo available
August 19, 2016

Amazon DynamoDB Review: "DynamoDB works great for small development team"

Score 9 out of 10
Vetted Review
Verified User
Review Source
DynamoDB is used by IT department in our organization. It is used when we need a no sql database and are using MySQL as a relational database. DynamoDB provides high speed read and write so we use it where we have heavy read and writes in order to make our page faster. This is helping to make our application faster.
  • No need to worry about hosting and ease of scaling and operations
  • Distributed and flexible as Amazon DynamoDB does not have a fixed schema
  • Based on load, options to increase throughput
  • 64KB limit on row size and 1MB limit on querying
  • Increasing throughput is expensive
  • Secondary indexes are not supported
DynamoDB is well suited when you have small development team and want ease of scaling and operations. Since it is hosted by Amazon, it provides a fully managed service. It provides great read and write for simple queries. When you have complex queries, I think this is not well suited. We need to remember this is not suited for a relational database.
Read this authenticated review
No photo available
October 09, 2015

Amazon DynamoDB Review: "DynamoDB"

Score 10 out of 10
Vetted Review
Verified User
Review Source
We use DynamoDB as our primary NoSQL database. It allows us to create databases with ease and maintain them without much work on the part of our development team. The cost of using DynamoDB is justified by the amount of time that our developers have saved, allowing us to focus on creating the product itself, not maintain infrastructure.
  • Completely managed DB solution
  • Performance
  • Flexible data model
  • The document oriented features are just starting out, and we'd love to see them develop to match MongoDB features.
  • Running out of provisioned throughput results in error responses. Better options for automatic scaling.
DynamoDB is an excellent NoSQL database and has met most of our needs. Some data models need more rigidity and a relational database is more appropriate. We have also found MongoDB better suited for situations where complex JSON needs to be modified.
Read this authenticated review

Feature Scorecard Summary

Performance (10)
8.7
Availability (10)
9.0
Concurrency (9)
8.9
Security (10)
9.1
Scalability (9)
9.7
Data model flexibility (10)
6.1
Deployment model flexibility (10)
7.1

About Amazon DynamoDB

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

Amazon DynamoDB Technical Details

Operating Systems: Unspecified
Mobile Application:No