What is our primary use case?
Our main use case for Amazon DynamoDB is storing quick metadata information about any of the image artifacts that we collect from our customers. We generally store this in Amazon DynamoDB in multiple regions for multiple customers.
What is most valuable?
Amazon DynamoDB is easy to use because of its nature of scaling and IO, and everything is very fast. You don't have to manage anything, and all that burden is on AWS, so it is very easy for us. Guidewire itself has a wrapper around AWS services and also Amazon DynamoDB where we consume the wrapper and directly have all these resources created with Terraform scripts.
The best features Amazon DynamoDB offers are its performance and Global Tables, which stand out because of their capabilities and speed. The features of Amazon DynamoDB have helped us because the data we are storing is not very large. Postgres is not a database we could use for that because there are no relationships. Scalability is really cool because you don't have to worry about anything, and sometimes on an ad-hoc basis, if we have to store something extra, we don't have to think much and can move forward. It also doesn't cost a lot.
Amazon DynamoDB has positively impacted our organization. As a whole, I feel it's very good. Amazon DynamoDB has made things easier and more efficient for our team because it's helpful as it scales and it's easier to use.
What needs improvement?
The only challenge I face with Amazon DynamoDB is that with the partition key and secondary key, the query doesn't become very easy. The construction of that schema is a bit tricky because once you need the data back and want to query, you only have the primary key and the secondary key, and nothing else you can query with. I think that's a tricky part, and apart from that, Amazon DynamoDB is really cool.
To improve Amazon DynamoDB, the challenge I faced is that you cannot essentially query with anything that you want from the table. I think if that capability was there, then it would be really helpful to push any sort of data and not worry too much. Now, to push some data, we have to think about whether we can query it back, or else we have to go for Postgres while we use SQL there.
For how long have I used the solution?
My team has been using Amazon DynamoDB for a long time. By the time I came, they were already using it, but as a whole, Guidewire has been using it for a very long time because Guidewire is completely built on top of many AWS services.
What do I think about the scalability of the solution?
In terms of scalability, Amazon DynamoDB handles increases in data and traffic well for our team. To be honest, we don't have a lot of traffic for our product, so we haven't seen a lot of spikes in the IO calls that we make to Amazon DynamoDB, but as far as I've seen, Amazon DynamoDB and its scaling features really provide very good capabilities.
How are customer service and support?
As for customer support for Amazon DynamoDB, being part of a very large organization, these things are carried out by different teams, so we don't have any interaction with AWS directly.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
In general, it feels easier to use Amazon DynamoDB, but I don't have anything else to compare it with. If we had used something else and then switched to Amazon DynamoDB, I would have compared it and could have given you some metrics, but currently, we have been using AWS services for a very long time, and I don't have anything to compare it with.
I don't know if there were any trade-offs about choosing the cloud provider itself and the services in the cloud providers at that point in time, but before Amazon DynamoDB, we have been using AWS services for a very long time, and we also have wrappers around all these services.
What's my experience with pricing, setup cost, and licensing?
My experience with pricing, setup cost, and licensing for Amazon DynamoDB is that I'm not very sure about it. I'm in the core backend team, and I think there is a different team that handles all of these things. Since we have had AWS services for a very long time, all of this would have been set up a lot earlier than I joined the organization.
What other advice do I have?
Amazon's documentation is the best documentation I've ever had. Generally, I go for LLM support, but AWS has very good documentation that I directly come and see to understand any of the services that they provide.
I would recommend Amazon DynamoDB to others looking to use it, also because of its free tier. Apart from my organization, I have also considered using AWS services personally because they provide a free tier initially, and I think AWS is the best option because of its cleaner documentation, it's easier to use, and has all the SDK support for developers. I rate Amazon DynamoDB a nine out of ten because it's very good as far as I've used it, but the only thing is that all the data that we want to get back is a bit tricky. Pushing the data into Amazon DynamoDB is easy, but getting it back is a little more complicated, and I think that is what keeps it a bit back from a perfect score.