What is our primary use case?
We have a database stored on Microsoft Azure where we fetch records and validate them against the application data that is displayed. We use it as a backend in an application to store data.
Within our organization, there are around 500 people using this solution.
What is most valuable?
There's no specific feature of Cosmos. Basically, we try to query the database. Since it's unstructured data, all the related fields are stored as a single JSON. You don't have to go ahead and hit multiple tables, or multiple containers. Instead, you get all of those things, relationally, stored in a nested JSON — in one single container itself. This way, you don't have to go back and forth to different tables. There are pros and cons with this feature, but often it makes things easier for us.
I am impressed with the TTL (time to live feature) of Cosmos. If we need to perform a manual addition to a container, we just need to configure the time to live. And then based on that, it can be deleted.
What needs improvement?
We should have more freedom to tweak it and make our own queries for non-traditional use-cases.
For how long have I used the solution?
I have been using Microsoft Azure Cosmos DB for roughly one year.
What do I think about the stability of the solution?
Cosmos should be more stable. Sometimes we fetch more than 60,000 records at a time. When we try to fetch large amounts of data, sometimes it breaks-down, requiring us to rescale it. Overall, performance-wise, it needs to be a little more stable.
How are customer service and technical support?
I personally haven't had contact with the technical support. Our solution architects deal with support.
How was the initial setup?
I wasn't involved in the initial setup. We have a DevOps team that was responsible for handling the installation. We are just leveraging it for developmental purposes.
What's my experience with pricing, setup cost, and licensing?
Cosmos should be cheaper. We actually intend to stop using it in the near future because the price is too high — and because of the stability issues.
What other advice do I have?
Overall, on a scale from one to ten, I would give this solution a rating of seven. Aside from the scalability issues, we haven't experienced any other issues.
I would recommend Cosmos. It made our lives a lot easier. There's not a big learning curve in order to understand the structure and how to use it. We were good to go with only one container. Anybody who is new can learn quickly.
Which deployment model are you using for this solution?
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?