My use case is user data management.
Solution Architect at a comms service provider with 11-50 employees
Good performance, observability and well documented
Pros and Cons
- "Never used the support. I got all the information from the documentation."
- "Data integrity across availability zones would be a valuable addition. Currently, DynamoDB provides eventual consistency across availability zones, but strong consistency would be beneficial for certain use cases."
What is our primary use case?
What is most valuable?
It is fairly straightforward. The best part is the scalability, the response performance, and scalability part. I didn't like the API extremely well, but it was okay.
Moreover, the system is pretty well documented, which is important. And it's observability. That's okay.
What needs improvement?
Data integrity across availability zones would be a valuable addition.
Currently, DynamoDB provides eventual consistency across availability zones, but strong consistency would be beneficial for certain use cases.
There is room for improvement in the pricing. A more tiered pricing structure would better accommodate different usage patterns. Similar to leasing a car versus buying it outright, there should be options for those with lower or higher usage volumes.
For how long have I used the solution?
I have been using this solution for three years.
Buyer's Guide
Amazon DynamoDB
November 2024
Learn what your peers think about Amazon DynamoDB. Get advice and tips from experienced pros sharing their opinions. Updated: November 2024.
816,406 professionals have used our research since 2012.
What do I think about the stability of the solution?
It is stable enough.
What do I think about the scalability of the solution?
This is a backend system. So it can be hundreds of thousands of users because it's not like a user interface type thing. So, it serves hundreds of thousands of real-world users.
It is a highly scalable solution.
How are customer service and support?
Never used the support. I got all the information from the documentation.
Which solution did I use previously and why did I switch?
I've worked with NoSQL databases like Redis and Amazon Keyspaces in the past.
We switched to DynamoDB because it is SaaS. We didn't have a dedicated team to maintain our database infrastructure.
Technically, Redis is better than DynamoDB is quite capable. However, it requires less maintenance compared to other NoSQL solutions.
I tried Step Functions, but it would be too pricey if I used it too much. So, I didn't stick with it. For low volume, the peanuts work. For high volume, they become expensive.
I just did play with it and then made a forecast and said no.
We just picked Amazon DynamoDB because it did the job, we wanted to do. I don't find it complicated. We use it. It's pretty straightforward.
How was the initial setup?
It is SaaS from Amazon, you just use it. You don't install anything. It could you could install it if you want. Like, I didn't, but I never used that.
What about the implementation team?
It is a service from Amazon. So that's one of the benefits; you just use it. There is no maintenance required.
What's my experience with pricing, setup cost, and licensing?
For our use case usage, DynamoDB's pricing was okay. However, for high-traffic applications, the pricing structure becomes less attractive.
It might not be the best choice for high volume. DynamoDB's billing is based on usage, not a fixed subscription fee. The invoicing is done monthly, but you only pay for the resources you consume.
There are no additional charges for support or other services. You pay solely for the resources you utilize.
Which other solutions did I evaluate?
My role is a solution architect. So, basically, we play with what we have at hand with what's the company strategy. We're more like Jokers. We play with whatever is the context, not necessarily being like, "hey, I'm an Amazon guy. I only do Amazon." It's mostly into building the software rather than using off-the-shelf stuff. So, we just built what we needed about VPMs in other companies.
What other advice do I have?
For simple, straightforward use cases, I would recommend it. And for whatever decent volume of usage means for each company, I wouldn't recommend it for a tenth of thousands of transactions per second.
Overall, I would rate the solution a nine out of ten.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Enterprise Architect at Skynet Belgium
Effective for simple scans and avoids the need for complex point searches and work well for a single T value stream
Pros and Cons
- "DynamoDB is a key-value database, and it's valuable if you have simple scan queries and don't need to do point searches."
- "Maybe the documentation could be improved a bit. Sometimes, it's a little confusing, and people can easily be mistaken about DynamoDB."
What is our primary use case?
One of our customers has been using DynamoDB for four years. They are using it to store long strings of data, particularly experiences shared by people in nature domains, such as recreation zones.
These experiences could be related to hiking, swimming, observing nature, or anything else. People can send in short messages, and those messages are stored in DynamoDB.
How has it helped my organization?
DynamoDB is a service by Amazon. It is what it is.
What is most valuable?
DynamoDB is a key-value database, and it's valuable if you have simple scan queries and don't need to do point searches. For example, if you want to see what happened on Wednesday afternoon at two o'clock and correlate that with what happened on Thursday morning at eleven o'clock, DynamoDB can handle those queries.
However, if you need to do more complex queries that involve multiple indexes or multiple keys, you're better off using an operational database. DynamoDB can still be a good choice for single-T value streams and smaller datasets, but it does have a limitation of four KB for a record, which can be restrictive.
Essentially, for those with some experience in the field, we could call it an index sequential access method.
What needs improvement?
Maybe the documentation could be improved a bit. Sometimes, it's a little confusing, and people can easily be mistaken about DynamoDB.
That's the main thing, the documentation could be a little more explicit or a little more elaborate. But that's it. It's a key-value system, and it works well for what it is. The only thing I can see that could be improved is the documentation.
For how long have I used the solution?
We have been using it since 2019, so for four years now.
What do I think about the stability of the solution?
The service itself is stable. We haven't found any faults in DynamoDB. It is what it is. I would have developed it or designed it with some more resilience in terms of flexibility and data, but the thing is stable. I've never had a crash.
What do I think about the scalability of the solution?
It is scalable up to its limits. DynamoDB can be used by all types of businesses, from small startups to large enterprises.
How are customer service and support?
We've always gotten help when we've called, so in my case, customer service and support are good.
We don't have any complaints about that or any information to provide on that. We always get a response within the contractual parameters, so everything has been okay for us.
How would you rate customer service and support?
Positive
Which solution did I use previously and why did I switch?
We have a few DynamoDBs, and we are also planning to restore unstructured data next week.
In 1982, which is now 40 years ago, we were working with an IBM system called ISAM and VTAM. Those very old mainframe systems were exactly what DynamoDB is today.
DynamoDB is a key-value storage device for a system. You have a key, which is one, two, three, and you have values, such as apples, orange juice, pears, whatever.
You can have a data construction or design in which you have one value with one key, or you could have a data structure designed for your application with a specific type of data. And then, you have to set up your DynamoDB accordingly. So, again, it's like comparing what is better: white bread, whole wheat bread, or slightly less white bread. It's all still bread.
How was the initial setup?
Any service in AWS is relatively easy to deploy. The deployment time for any variable GB is about a second.
What about the implementation team?
One person can do the deployment. The service itself doesn't require maintenance. It's the content that needs attention. It's like any data store or any form. If you put garbage or corrupt data in it, you will get a corrupted result. So, the service itself is flawless. It works exactly as advertised.
But if you store the wrong data in it, with the wrong key and the wrong values, you will get the wrong results. So, the maintenance is not so much in DynamoDB itself. The maintenance is in your data stream.
We have a cloud engineer who takes care of running, upgrading, and supporting about 60 to 70 DynamoDBs in the physical sense, although that might be a bad term to use with cloud services. And he does it all by himself. So, one person can, in the current state of affairs with cloud services, oversee quite a large number of services.
What's my experience with pricing, setup cost, and licensing?
Compared to a high-end relational database, it's cheap. But then it doesn't have the capabilities of a high-end relational database because it's not meant to be a high-end relational database.
So, it's like looking at what the price difference is between a scooter and a Bentley or a GTR. They are means of transport that are in a different league altogether. So, you don't compare a Bentley with a scooter.
The pricing is based on usage. DynamoDB is one of the services within Amazon Web Services. So, the pricing for anything in cloud services is based on usage and volume. So, the more you use it and the more volume you pump into it, the more the price will go up. But that is the normal business case for any storage service in the cloud.
What other advice do I have?
If you've done your data architecture and analyzed what you'll be using your data for, where you'll be using it, and you have your data flows and conceptual model, and you see that it's a sequential storage of keys with values attached to it, DynamoDB is a valuable and valid option.
However, don't use it just because it's easy. You should use it when you don't need some of the other aspects of a relational database, like joining, multiple endpoints, and comparing or having a key on multiple datasets. If that's your use case, if you want it for your entire application, don't use DynamoDB.
But if it's for something simple, like a record of sales or events happening on a particular day or moment, please do use DynamoDB. It all comes down to the quality of your data architect.
I would give it a ten in some cases and a zero in others. For example, if you want to have a research database where you need multiple perspectives on the same set of data, and you try to do that within DynamoDB, you're going to have trouble.
But if you have a log and you want to do some statistical research on, for example, the sales in a supermarket, which are a simple timeline with the cash register data, timestamp, value, and then the goods, that's all very simple, key-value, and you can use DynamoDB for that.
So, it depends on the use case. For the use cases that you're using it for, you would give it a ten. So, the solution is excellent for the purpose you're using it for.
For my use cases, I would rate it an eight out of ten. We chose DynamoDB. We could have done the same thing with a relational database, but then again, you wouldn't choose a Bentley Continental GTR just to go to the grocery store. You can go to the grocery store on a scooter.
We decided against the relational database because of the overhead and cost, and we went with DynamoDB instead. Because the dataset is just a key timestamp and some values, a key and a value, we can restore them sequentially, which is exactly what DynamoDB can do without any problems.
Disclosure: My company has a business relationship with this vendor other than being a customer: Integrator
Buyer's Guide
Amazon DynamoDB
November 2024
Learn what your peers think about Amazon DynamoDB. Get advice and tips from experienced pros sharing their opinions. Updated: November 2024.
816,406 professionals have used our research since 2012.
It's ease of operation, scalability and predictable performance are valuable features.
What is most valuable?
The ease of operation. It's so easy to scale it up and down. And it delivers predictable performance, as promised.
How has it helped my organization?
We are using DynamoDB in two projects now. One for storing large amounts of file metadata, and one for storing small amounts of session data. The fact that it is so easy to create tables and provision for known throughput saved us a lot of time, especially because we are deploying multiple environments and multiple regions.
What needs improvement?
DynamoDB doesn't provide server-side encryption, so we had to do it manually.
Any replication to other regions requires writing code. It's not so bad, but would be better to get a solution out of the box.
We store some protected patient information in DynamoDB, and in order to keep it HIPAA-compliant, we have to encrypt it at rest. Some services such as S3, Redshift and SQS will do the encryption on the server side, but with DynamoDB, the client application had to do the encryption before writing to the DB, and has to decrypt when reading. This means that we need to manage encryption keys: we need to store then securely and rotate them periodically, which is extra coding and complexity.
As for cross-region replication, AWS offers a way to do this using DynamoDB streams and Lambda, whereas other databases such as postgresql enable to configure replication without coding.
For how long have I used the solution?
I have used it for one year.
What was my experience with deployment of the solution?
We have not encountered any deployment issues. It's straightforward.
What do I think about the stability of the solution?
We have not encountered any stability issues, but you should expect to get exceptions when you exceed the provisioned throughput. This is okay and it is by design. You need to handle it by retries with exponential backoff.
What do I think about the scalability of the solution?
We have not encountered any scalability issues.
Which solution did I use previously and why did I switch?
We used PostgreSQL. We switched to DynamoDB for the scalability and ease of deployment and operation.
How was the initial setup?
Initial setup was straightforward.
What about the implementation team?
An in-house team implemented it.
What was our ROI?
No time wasted on provisioning databases.
What's my experience with pricing, setup cost, and licensing?
Pricing depends on volume and provisioned throughput. When low, the price is extremely low. But for really large amounts of data, it can be expensive. Make sure you keep there only data you really need available fast.
Which other solutions did I evaluate?
We evaluated Cassandra but chose to abandon it because it was harder to configure correctly and scale.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Associate Cloud Engineer at Rishabh Software
A serverless, NoSQL database that allows you to create a single global table
Pros and Cons
- "Amazon DynamoDB allows you to configure your read-write capacity and create a single global table that can be accessed with any other region."
- "Amazon DynamoDB has a very complex configuration if you go very advanced."
What is our primary use case?
Since Amazon DynamoDB is a serverless NoSQL database, we are using it to develop an application that uses a NoSQL database.
What is most valuable?
Amazon DynamoDB allows you to configure your read-write capacity and create a single global table that can be accessed with any other region.
What needs improvement?
Amazon DynamoDB has a very complex configuration if you go very advanced.
For how long have I used the solution?
I have been using Amazon DynamoDB for the past two to three months.
What other advice do I have?
We are very much satisfied with Amazon DynamoDB's global tables feature. It was very easy for me to learn to use Amazon DynamoDB. After one week of upskilling, I was able to query and use the solution. The solution has a very user-friendly interface. If you don't know about queries, you can filter out data with the interface without writing complex queries.
Our company decided to use Amazon DynamoDB because it is a serverless, NoSQL database. Amazon DynamoDB has a very complex configuration if you go very advanced. So, start with the basics and use PK and SK only. After that, you can jump to search indexes. If you have some advanced use cases, the configuration might have some complexities. Amazon DynamoDB has good scalability, and it is very fast for querying.
Overall, I rate the solution ten out of ten.
Which deployment model are you using for this solution?
Public Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Amazon Web Services (AWS)
Disclosure: My company has a business relationship with this vendor other than being a customer: customer/partner
Last updated: Apr 6, 2024
Flag as inappropriateDevOps Engineer at ZoomOps Technology
A fully managed service that is designed to provide fast and predictable performance
Pros and Cons
- "Amazon DynamoDB is a fully managed service by AWS, and it is designed to provide fast and predictable performance."
- "The solution's backup and restore could be improved to be able to utilize batch operations."
What is our primary use case?
DynamoDB is suitable for a wide range of applications, from small-scale projects to large-scale and high-traffic applications. Amazon DynamoDB is a high-performance managed service, and AWS fully takes care of the operational parts, including hardware, setup, and maintenance.
What is most valuable?
Amazon DynamoDB is a fully managed service by AWS, and it is designed to provide fast and predictable performance.
What needs improvement?
The solution's backup and restore could be improved to be able to utilize batch operations.
For how long have I used the solution?
I have been using Amazon DynamoDB for more than two years.
What do I think about the stability of the solution?
Amazon DynamoDB is a stable solution.
What do I think about the scalability of the solution?
Amazon DynamoDB is a scalable solution. More than three people are using the solution in our organization.
How are customer service and support?
The solution’s technical support is good.
How was the initial setup?
The solution’s initial setup is easy.
What's my experience with pricing, setup cost, and licensing?
Amazon DynamoDB is a cheap solution.
What other advice do I have?
Amazon DynamoDB automatically publishes AWS CloudWatch metrics that provide information on health and performance, read-write capacity, system errors, and conditional check fail requests. It is easy for somebody to learn to use Amazon DynamoDB. I would recommend the solution to other users.
Overall, I rate the solution ten out of ten.
Which deployment model are you using for this solution?
Public Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Amazon Web Services (AWS)
Disclosure: My company has a business relationship with this vendor other than being a customer: Partner
Last updated: Mar 8, 2024
Flag as inappropriateSenior HPC and BigData Architect at Bitnet
Stable and scalable NoSQL database used to collect and move data to third party solutions
Pros and Cons
- "The most valuable features are the flexibility and the compatibility options without needing to use any additional services or software. It is an independent solution that doesn't need other solutions to operate."
- "The design patterns and the documentation for this solution could be improved. In a future release, we would like to see an improvement of the data push options as we sometimes experience blockers when moving data."
What is our primary use case?
We use this solution for two main purposes. The first is for the IoT-H devices to collect data and push the collected data to the DynamoDB. The second aim is to use the Terraform integration for the GS. This solution supports 25 users.
What is most valuable?
The most valuable features are the flexibility and the compatibility options without needing to use any additional services or software. It is an independent solution that doesn't need other solutions to operate.
What needs improvement?
The design patterns and the documentation for this solution could be improved. In a future release, we would like to see an improvement of the data push options as we sometimes experience blockers when moving data.
For how long have I used the solution?
I have been using this solution for more than two years.
What do I think about the stability of the solution?
This is a stable solution. In the last three years, I have not encountered any issues.
What do I think about the scalability of the solution?
This is a scalable solution.
How are customer service and support?
We make use of the paid version of support and do not usually wait more than 40 minutes to be assisted via email or live chat. I would rate support a five out of five.
How would you rate customer service and support?
Positive
How was the initial setup?
The initial setup is not that easy. It requires at least one mid-level DevOps engineer to understand both the company requirements and also the AWS capability in order to meet them. I would rate the initial setup a four out of five.
What's my experience with pricing, setup cost, and licensing?
I would rate the pricing for this solution a four out of five.
What other advice do I have?
I would rate this solution an eight out of ten.
Which deployment model are you using for this solution?
Public Cloud
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Data Engineer at Pharos Analytics Lab
Easier to scale than other databases. but when connecting to other services, we need to sort and code the data
Pros and Cons
- "AWS technical support is very friendly."
- "I would rate the stability a seven out of ten. We faced some configuration issues."
What is our primary use case?
We mostly use it for e-commerce data.
How has it helped my organization?
Any inflow of new data, whether it is new input or schema inflow, can be captured and stored in DynamoDB. Any variables or inputs can be captured in DynamoDB.
What is most valuable?
It's easier to scale than other databases.
It's serverless, scalable, and we can replicate and do blow letters. It's okay from my side.
When creating login credentials, we can make a security setup while using DynamoDB.
What needs improvement?
It has a different schema type than other databases. DynamoDB has a separate schema.
It is a schema-less, NoSQL database. When connecting to other services, we need to sort and code the data. We need to especially monitor the coding of the data. There will be some minor changes to normal coding.
For how long have I used the solution?
I have been using it for two years.
What do I think about the stability of the solution?
I would rate the stability a seven out of ten. We faced some configuration issues.
We mainly need to know the configurations and settings. They need to be customized before setup can be done.
What do I think about the scalability of the solution?
We are a small company; only four developers use it.
I would rate the scalability an eight out of ten.
How are customer service and support?
AWS technical support is very friendly and looks out for the business to continue. They will support you based on your support ticket.
How would you rate customer service and support?
Positive
Which solution did I use previously and why did I switch?
I have used Azure. It was for a previous project.
How was the initial setup?
For deployment, we use libraries. If you want to create a library, it's basic functionality. We can call it by integrating with any Python library. We can deploy it very quickly and easily.
Compared to MongoDB, we can set up DynamoDB within half a day.
AWS handles the maintenance.
What's my experience with pricing, setup cost, and licensing?
It's pay-as-you-go. You pay for how much you use and store. We can also make automatic backups and use replication for the database. It is suitable for high-performance applications.
It's on a monthly basis. So it's a subscription.
We use it for support services, so we subscribe to it only when needed. So, the pricing can vary.
I would rate the pricing an eight out of ten.
What other advice do I have?
I can recommend AWS, especially for enterprise and retail-level customers.
Overall, I would rate it a seven out of ten.
Which deployment model are you using for this solution?
Private Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Amazon Web Services (AWS)
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Last updated: Jul 8, 2024
Flag as inappropriatePython Developer at a consultancy with 5,001-10,000 employees
Helps understand the database usage and is suitable for small use cases
Pros and Cons
- "It is a NoSQL product."
- "The pricing for larger databases is higher."
What is most valuable?
It is a NoSQL product. We can write what we want, and it will be stored. We need not worry about the structure. If we want to use a database for small use cases, we can use DynamoDB. If the CPU is high in a day, I can check what time it went high, how many people came into the site, and understand the database usage. Whenever the CPU is high, I send all the data to my database and analyze why it is high so that I can minimize the usage accordingly.
If we want to add another field, we can do so easily. It won’t show any errors. There is no need to migrate. Data modeling is easy. Whatever language we use with the product, we must check how to connect and write it. We must use some DynamoDB functions. I use the product with Lambda.
What needs improvement?
The pricing for larger databases is higher.
For how long have I used the solution?
I have been using the solution for one and a half years.
What do I think about the stability of the solution?
We did not have any issues with the tool’s stability. We did not face any issues with bugs.
What do I think about the scalability of the solution?
The tool’s scalability is good. I rate the scalability a nine out of ten.
How was the initial setup?
The initial setup is straightforward.
Which other solutions did I evaluate?
We mostly use PostgreSQL.
What other advice do I have?
I have used Amazon RDS. We do not use DynamoDB much. I will recommend the product to others. If we want a small database, Amazon DynamoDB is a good choice. We can use it for larger use cases, too. However, pricing might be high if we opt for the larger database. Overall, I rate the tool a nine out of ten.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Last updated: Mar 14, 2024
Flag as inappropriateBuyer's Guide
Download our free Amazon DynamoDB Report and get advice and tips from experienced pros
sharing their opinions.
Updated: November 2024
Product Categories
Managed NoSQL DatabasesPopular Comparisons
Microsoft Azure Cosmos DB
Amazon DocumentDB
Amazon Neptune
Google Cloud Bigtable
Amazon Timestream
Neo4j AuraDB
Oracle NoSQL Database Cloud
Amazon Keyspaces
Buyer's Guide
Download our free Amazon DynamoDB Report and get advice and tips from experienced pros
sharing their opinions.
Quick Links