What is our primary use case?
My use case is user data management.
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.
What do I think about the stability of the solution?
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.