TrustRadius
Amazon DynamoDB is a NoSQL database, from Amazon Web Services.https://media.trustradius.com/product-logos/C0/WR/W80NNOPOBR1E.pngDevelopment of serverless applications with high performance, and few configurations.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.,9,It is always available so the projects have never had any problems at the hosting level, the connection is very stable, and the customers and users are very satisfied with the performance of the applications. Thanks to this tool, the monetary investment in the hosting of the project can be controlled very well, since it allows to pay only for what is used.,MongoDB and Cassandra,AWS Lambda, Amazon CloudWatch,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.,10,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,10Easy, Scalable, Reliable and MaintainableAmazon 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.,8,Very cheap to set-up and run in production. Great ROI compared to running a managed solution or database servers.,MongoDB and Cassandra,MongoDB, Cassandra,9DynamoDB - 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,10Great NoSQL service from AWSDynamoDB 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,9,It boosts our productivity It reduces our cost of database It brings more options regarding database.,Google Cloud Datastore and MongoDB,Google Cloud Datastore, Google Cloud Dataflow, Google BigQuery, Amazon Redshift, Amazon SageMaker,9I highly recommend Amazon DynamoDB, with one catch to watch out forWe 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.,8,Speed of data processing. Not having to worry about growing volumes of data. Negative - significant initial cost during ramp up period (client-base growth).,,Amazon Elastic Compute Cloud (EC2), Amazon S3 (Simple Storage Service), Microsoft SQL Server,7Amazon DynamoDB is an amazing, reliable NoSQL data storeDynamoDB 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: https://techblog.gumgum.com/articles/moving-to-amazon-dynamodb-from-hosted-cassandra,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.,8,Cost savings over Cassandra. Less of a maintenance hassle and less downtime for the services running on it.,,Scylla, Cassandra, IntelliJ IDEA, MySQL, Amazon Elastic Compute Cloud (EC2), Amazon CloudWatch, Amazon ElastiCache,9Best server-less NoSQL database for key value retrievalIn 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).,9,Saved lot of money for us because of its support to auto-scaling. As its NOSQL so if you are not doing proper analysis before deciding to go with NoSQL it can be disastrous, fortunately, we never faced such negatives.,Azure Cosmos DB,Azure Cosmos DB, AWS CodePipeline, AWS WAF, AWS Cloud9,10DynamoDB - Know you Absolutely Need it Before CommittingIt 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.,6,From a dollar standpoint, it costs much more than other options. It gave us speed and the feeling of safety if things needed to scale. There isn't as much tooling, so there is a negative cost there in the difficulty to work with it.,,MySQL, MongoDB, Redis,4NoSQL on steroidsWe 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,10,Reduced Costs of Oracle Database server,AWS Lambda, AWS IoT, Amazon Simple Notification Service (SNS),10DyanmoDB scaling and backupWe 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.,10,We moved to DynamoDB from MongoDB, for now. DynamoDB is cheaper. DynamoDB is faster than MongoDB, better response between services.,AWS Lambda, Amazon Simple Notification Service (SNS), Amazon Simple Queue Service (SQS) and Amazon CloudWatch,AWS Lambda, Amazon Simple Notification Service (SNS), Amazon CloudWatch,10DynamoDB 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: 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 is a great NoSQL storage solutionWe 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,9,Scalability out of the box No server maintenance Infrastructure comes for "free",Redis and BigTable,AWS Lambda, AWS CodePipeline, AWS Elastic Beanstalk,9Impressive 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,8DynamoDB is everything you want in a NoSQL database serviceDynamoDB 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,10,Saved us a lot of time on setup. Cost us more money on recurring costs. Cut costs on operations staff maintaining databases.,Amazon CloudWatch, Amazon Kinesis, Amazon Elastic Compute Cloud (EC2),10NoSQL is DynamoDB. Always.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.,9,Very good Infra management REST API is amazing and good to use. Amazing Support,Amazon API Gateway, Amazon Chime and Amazon CloudSearch,Amazon Chime, Amazon CloudSearch, Amazon Elastic Transcoder,6DynamoDB - NoSQL with NoManagementDynamoDB 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.,10,Dynamodb reduced the need for SRE headcount to maintain infrastructure. Built in metrics dove tails with existing monitoring tooling. Flexible NoSQL design allows developers to focus on business problems, rather than database design.,MongoDB and Redis,Amazon S3 (Simple Storage Service), Redis, MySQL,10An expensive coffin for you NoSQL data.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.,Again, I'll reiterate here that the pricing model for DynamoDB makes it often not cost effective for the very things you most want to use a NoSQL database for. Additionally, because DynamoDB is offered as a web service with an API you are always dealing with network latency. While this is not unique to DynamoDB it it something to keep in mind for people who may have been using a document store like Redis as a cache. It is not well suited for those kinds of operations, and you'll need to re-evaluate what is worth caching in something like Dynamo.,4,We were able to achieve our goal using Amazon – store every single email our system that has ever been sent in fluid database for long term recover without significantly impacting query times at scale. We have been unable to effectively add additional features using the data set because of the pricing structure and incurred cost involved with performing repeated scans over the dataset.,MongoDB and Redis Cloud,Amazon CloudWatch, Amazon Elastic Compute Cloud (EC2), Amazon Relational Database Service, Amazon Glacier, Amazon S3 (Simple Storage Service), Rackspace,4DyanmoDB - Helps you scaleMy 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.,Very low maintenance, no back ups required since it's an AWS service. The access times are very low irrespective of how many connections. That makes Amazon DynamoDB an ideal candidate for scaling apps. As I pointed out, there are certain flaws. In the end, like every other tool available, you have to pick what works best for your application.,8,There is a bit of a learning curve. But in the end, the advantages outweigh the cost to learn. Since the schema is very flexible, the cost of change is not high. For me, that's been a big advantage so far. We use a lot of other services provided by Amazon. That make it easy for us since everything is in the same place and tied together.,,Amazon S3 (Simple Storage Service), Amazon Elastic Compute Cloud (EC2), Elasticsearch,9Easy data storage but at what cost?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.,The biggest perk of moving to dynamodb is the speed of inserts when you need to store massive amounts of data. But if you don't need to keep that data around forever, the "Time to Live" feature allows you to set an expiration date for data to be deleted. The main weakness is getting data out of this system to use in other systems. In my particular case, I needed to bring the data in a summarized fashion into a data warehouse. I felt the options to move the data out of this system were clunky unless I purchased a very expensive ETL tool.,3,The system is free to use (to a point). The system was relatively easy to get setup to add data. The system is difficult to access data without the use of scripts to handle return of data (unless you utilize an ETL tool).,MongoDB and Cassandra,FileMaker Pro, PostgreSQL,5Limited SaaS solution that integrates seamlessly into Amazon ecosystemWe 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.,There are some feature that DynamoDB does a little differently compared to other products in the market. Effective: Security policy using Amazon IAM. The security on the database is controlled by broader Amazon IAM policy. This negates the need to manage individual security policies for the database.This also integrates very well with rest of the Amazon eco system. Deploying your applications in Amazon VPN would allow rest of the applications to communicate between each other without compromising on security.Ineffective:Not an open source technology: the drawback with not being an open source tech is its development is dependent on the number of resources that Amazon dedicates to the software. The documentation while great in some areas, lags when you want to get work done using some specific functionality of the API.,8,Since the Amazon manages the instance, the amount of time a developer needs to spend configuring the database is less. For comparison, if we were to manage the same instance manually, we need to set up EC2 instance, install the DB, setup backup scripts, track backup failures, which is a great overhead for the dev. Using DynamoDB this overhead is reduced and hence having a great ROI. Great documentation and easy setup makes an easy learning curve to transition to DynamoDB. Only caveat is as with any database, the data structure should be thoroughly analyzed for types of querying because there are limitations with the DynamoDB API. Ties very well with rest of the Amazon eco system. Having rest of the applications in Amazon allows managing the application security a breeze.,MongoDB, PostgreSQL and CouchDB,PostgreSQL, Amazon Relational Database Service, Amazon S3 (Simple Storage Service), Amazon Elastic Compute Cloud (EC2), CloudFoundry, Jenkins, CircleCI, Travis CI, GitHub, IntelliJ IDEA, IntelliJ WebStorm,1Dynamo: Great benefits with hidden costsIt 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,The best thing we have found recently is is dynamo streams and automated backups. When we lost data we were able to recover it from backup for a small cost compared to SQL Dbs. The streams allow any changes made to the table to be streamed to SQS which we process to update caches on top of the data to make the system faster and cheaper. The two bad things are sharding meaning as the table gets more records it "splits" across instances which cause access times to go up. When you decrease the records this sharding stays so the table is left in a permanent inefficient state unless you recreate it. Hotspotting is the worst, so if you do not evenly distribute your hash keys than performance takes a significant hit and you can throttle way before hitting your expected paid for capacity.,6,Better faster coding for data storage and retrieval Can get very expensive very fast for some use cases, while really cheap for others Hidden errors and short falls leads to very frustrating troubleshooting,Redis,Redis, Amazon S3 (Simple Storage Service), Visual Studio.NET,10DynamoDB: a pain in the ass worth it for some use casesAmazon 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.,Including subobjects or related entities can be a major issue in Amazon DynamoDB, as we typically end up having to string serialize objects for use in the flat hierarchy of dynamo objects. This is something to be aware of, so you can avoid it by ensuring objects indexed in Amazon DynamoDB don't need this use case.,8,We have had to back out some entities out of Amazon DynamoDB in favor of a relational database, which has been a major issue costing us around 20 man days of effort. Amazon DynamoDB has given us extremely fast search, by indexing dynamo entities in Amazon CloudSearch and then doing fast lookup in dynamo of the key stored in Amazon CloudSearch. Overall, Dynamo has been a pain point due to smaller situations typically requiring a simple, relational database. I would be enthusiastic about Dynamo for large tables, but when needs are smaller it can be overkill.,Elasticsearch and MongoDB,7"Want to develop websites quick and scalable - use Dynamo DB"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.,The most effective feature of DynamoDB is adding triggers. It is very easy to have it connected with other AWS Services. Additionally, the second advantage is setting the provision for indexes and alarms, where you can easily set the spend limit. Using the CloudWatch Alarm, you can easily specify the limits or do some additional processing.,8,Saves man-hours on setting up the JDBC/ ODBC drivers Setting up of triggers in SQL database is comparatively complex, however AWS DynamoDB is much easier to configure and use Provides much heavy tools to view the metrics and graphs,IBM Cloudant and Oracle Database,IBM Cloudant, Amazon Relational Database Service,9
Unspecified
Amazon DynamoDB
79 Ratings
Score 8.5 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
79 Ratings
<a href='https://www.trustradius.com/static/about-trustradius-scoring' target='_blank' rel='nofollow'>trScore algorithm: Learn more.</a>
Score 8.5 out of 101

Do you work for this company? Manage this listing

TrustRadius Top Rated for 2019
Show Filters 
Hide Filters 
Filter 79 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-25 of 27)

Do you use this product? Write a Review
Winston Mendes profile photo
August 10, 2019

Development of serverless applications with high performance, and few configurations.

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.
Read Winston Mendes's full review
Bob Smith profile photo
May 31, 2019

DynamoDB is a great No-SQL solution

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.
Read Bob Smith's full review
Arjun Komath profile photo
August 16, 2019

Easy, Scalable, Reliable and Maintainable

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

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
June 28, 2019

Great NoSQL service from AWS

Score 9 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.
Read this authenticated review
No photo available
June 27, 2019

I highly recommend Amazon DynamoDB, with one catch to watch out for

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

Amazon DynamoDB is an amazing, reliable NoSQL data store

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: https://techblog.gumgum.com/articles/moving-to-amazon-dynamodb-from-hosted-cassandra
  • 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.
Read this authenticated review
No photo available
April 30, 2019

Best server-less NoSQL database for key value retrieval

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.






Read this authenticated review
No photo available
March 05, 2019

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

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
Chris Moyer profile photo
February 23, 2019

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
Dylan Cauwels profile photo
February 23, 2019

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
Richard Rout profile photo
September 26, 2018

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
No photo available
December 12, 2018

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
February 22, 2019

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
AYUSH VERMA profile photo
May 03, 2018

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

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
Justin Schroeder profile photo
October 13, 2017

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

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

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
Anudeep Palanki profile photo
July 24, 2017

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
Adam Lauer profile photo
May 06, 2016

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

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

"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

Feature Scorecard Summary

Performance (17)
8.9
Availability (17)
9.3
Concurrency (16)
9.1
Security (17)
9.3
Scalability (16)
9.5
Data model flexibility (17)
6.6
Deployment model flexibility (16)
7.2

About Amazon DynamoDB

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

Amazon DynamoDB Technical Details

Operating Systems: Unspecified
Mobile Application:No