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.
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.
We should have more freedom to tweak it and make our own queries for non-traditional use-cases.
I have been using Microsoft Azure Cosmos DB for roughly one year.
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.
I personally haven't had contact with the technical support. Our solution architects deal with support.
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.
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.
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.