Try our new research platform with insights from 80,000+ expert users
Aasif Bagdadi - PeerSpot reviewer
CTO at MarketOnce
Real User
Top 20
Offers horizontal scalability, making it easy and cost-effective without additional effort from a DBA or DevOps team
Pros and Cons
  • "The fact that scalability can be achieved by simply configuring availability zones is very attractive."
  • "An improvement could include increasing the document size or providing a method to manage larger sets efficiently. If they want to keep a 2 MB limit, they should provide a way to chain multiple documents in a systematic way so that developers do not have to figure out what to do when a document is larger than 2 MB."
  • "A limitation in Azure Cosmos DB is the 2 MB document size. Developers need more systemic support in chaining multiple documents if more than 2 MB is required."

What is our primary use case?

I have three different products using Azure Cosmos DB. The most extensive use is in a survey platform we are developing as a SaaS product. Azure Cosmos DB serves as the primary OLTP database for this platform. We do not have any other RDBMS for this use case.

We also use it to store configuration information for campaigns for the other two products, but it is used extensively for the survey platform.

How has it helped my organization?

Azure Cosmos DB offers horizontal scalability, making it easy and cost-effective without additional effort from a DBA or DevOps team. Configuration for scaling is user-friendly through the UI.

It is easy to use and optimize once you understand the basics, partitions, and indexing. By default, it indexes every field and attribute, but you can customize it. The documentation is good. It makes logical sense. I have had some experience with other NoSQL solutions. It is easy to use. We do not find anything challenging. The way it indexes and does the filtering of data is easy.

What is most valuable?

The fact that scalability can be achieved by simply configuring availability zones is very attractive. We aimed to avoid managing a NoSQL database, especially when we did not have an upper limit on how much audio we would need while doing the initial development. The ability to easily scale with the increase in usage and adoption of our product is the most valued feature.

What needs improvement?

A limitation in Azure Cosmos DB is the 2 MB document size. Developers need more systemic support in chaining multiple documents if more than 2 MB is required. Compared to competitors like MongoDB, which allows for gigabyte-sized documents, Azure Cosmos DB's limit is small. An improvement could include increasing the document size or providing a method to manage larger sets efficiently. If they want to keep a 2 MB limit, they should provide a way to chain multiple documents in a systematic way so that developers do not have to figure out what to do when a document is larger than 2 MB. For some use cases, the 2 MB size is very small. If they improve this aspect, a lot of customers will benefit from it. 

Another area for improvement is making it available on different cloud providers. Currently, Azure Cosmos DB is an Azure-only offering. Not supporting other cloud providers results in Microsoft losing some customers.

Buyer's Guide
Microsoft Azure Cosmos DB
April 2025
Learn what your peers think about Microsoft Azure Cosmos DB. Get advice and tips from experienced pros sharing their opinions. Updated: April 2025.
848,576 professionals have used our research since 2012.

For how long have I used the solution?

I have been using Azure Cosmos DB extensively for the last four years. Before that, it was more of hobby research.

How are customer service and support?

We have an account manager. We reach out to that account manager wherever we need level 2 or level 3 support. We have also followed the normal process of raising a ticket, but sometimes, it helps to speed up the process.

Ordinary issues are resolved through standard processes, but for complex matters, we leverage our account manager to access senior engineers. We have received great support. Support has been responsive and effective. I am very happy with their support.

How would you rate customer service and support?

Positive

Which solution did I use previously and why did I switch?

We have not replaced any solution with Azure Cosmos DB for this use case, but we have used MongoDB, Elastic, and other NoSQL databases.

Almost anything that you can do in Azure Cosmos DB can also be done in MongoDB, but one of the things that I like about Azure Cosmos DB is called change detection. Changes in each document can be persisted in some other technologies. It could be in fabric or SQL Server. This feature gives Azure Cosmos DB an edge over others in use cases where you need to detect a change and then connect it with other things. I also like the functions and stored procedures that Microsoft has implemented in Azure Cosmos DB, but the change detection feature is probably one of the best features. It works natively within the platform and Azure.

How was the initial setup?

The initial setup is very easy and seamless. An instance can be deployed in minutes, and the UI allows for easy configuration and scaling without disrupting operations.

I recently needed to upgrade an Azure Cosmos DB instance. In the UI, I clicked the option to scale it higher. It said that it could take a couple of hours. I thought it would take four or five hours, but it finished in two or three hours and notified me when the upgrade was completed. All this while, things were working and operational, and behind the scenes, it was upgrading to a bigger instance. It finished the upgrade in half the time. It can spin up a small instance in just a few minutes.

It took us about two weeks to do the PoC to make sure that Azure Cosmos DB was the right one for our use case. After the PoC, we started leveraging Azure Cosmos DB within a month. Our use cases have become more and more sophisticated because we are still developing software, which requires us to create different documents and different structures of those documents in Azure Cosmos DB. The onboarding itself was simple and natural. We did not feel that using Azure Cosmos DB slowed us. In fact, it was seamless because the JSON that our APIs needed could directly be persisted in Azure Cosmos DB. No other transformation was needed.

Its learning curve is small. It is easy to learn. The documentation of Azure Cosmos DB is good.

It does not require any maintenance, but a couple of times, we had to change our partition scheme and write a separate utility to transition from one partition scheme to the other. It was more of a migration that we had to do of the Azure Cosmos DB document that we had created. Because we changed the partitioning scheme, we had to migrate the old data to the new partition design. Azure Cosmos DB does not require any maintenance work. That is the beauty of how NoSQL, and Azure Cosmos DB in particular, have been designed.

What about the implementation team?

All implementations were done in-house without any external consultants. It is a one-person job.

What was our ROI?

The horizontal scalability helps lower the overall cost of ownership as compared to managing MongoDB or any RDBMS solution. Because of its ease of use and the fact that the scaling, configuration, and backup are managed in Azure, we do not need a dedicated DBA. We do not even need the DevOps people to manage it.

The management of Azure Cosmos DB is easy because of the UI and the way it scales. We have availability zones and multi-region load balancing. When you take all that into consideration, the total cost of ownership is much lower than others.

Azure Cosmos DB is costly, especially if you have not optimized it. However, we are very satisfied with it. It provides the value for what we are paying.

What's my experience with pricing, setup cost, and licensing?

Its price is very good for the basic stuff. When you go to a more complicated use case, especially when you need replication and availability zones, it gets a little costly.

It represents the biggest cost item for us. However, the cost is aligned with the value provided. It has served our needs perfectly, aligning with our scaling and development requirements, so the cost of ownership seems justified.

Which other solutions did I evaluate?

We did a number of PoCs to decide which NoSQL database to use, and we settled on Azure Cosmos DB. We could see its benefits when we incorporated the partition key with indexing. The performance started improving when our engineers started exploring some of the complex concepts.

What other advice do I have?

Overall, I would rate Azure Cosmos DB an eight 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?

Microsoft Azure
Disclosure: PeerSpot contacted the reviewer to collect the review and to validate authenticity. The reviewer was referred by the vendor, but the review is not subject to editing or approval by the vendor. The reviewer's company has a business relationship with this vendor other than being a customer: Partner
Flag as inappropriate
PeerSpot user
Tiago Duarte - PeerSpot reviewer
CTO at Stellium Consulting
Real User
Top 10
You can scale it to add more capacity while providing the level of performance that customers expect
Pros and Cons
  • "We value the replication and regional availability features that Cosmos DB provides. The replication includes read replicas and write replicas. The recent addition of vectorization and similarity comparisons add values for AI workloads. The performance and scaling capabilities of Cosmos DB are excellent, allowing it to handle large workloads compared to other services such as Azure AI Search."
  • "Cosmos DB performs exceptionally well and has not caused any issues that necessitate adjustments in nodes for improved performance."
  • "A minor improvement would be enabling batch operations through the UI. Currently, to delete all documents in a collection, we must use an API, which some of my team finds inconvenient for admin tasks."

What is our primary use case?

We have been using Cosmos DB for everything involving non-relational data. Recently, we’ve been utilizing it more for AI purposes, especially for conversation histories.

How has it helped my organization?

Cosmos DB performs well with production workloads that have many gigabytes of information. You can scale it to add more capacity while providing the level of performance that customers expect.

What is most valuable?

We value the replication and regional availability features that Cosmos DB provides. The replication includes read replicas and write replicas. The recent addition of vectorization and similarity comparisons add values for AI workloads. The performance and scaling capabilities of Cosmos DB are excellent, allowing it to handle large workloads compared to other services such as Azure AI Search.

The solution is straightforward in terms of the interface, API set, and automation capabilities. The learning curve is short if you're familiar with the world of non-relational data. It takes about three to six months to learn about the distribution capabilities of Cosmos as a service. It takes a bit more time to learn the networking settings that you can use for Cosmos in South Asia, including virtual networks, private networks, finance, etc.

The vector database is interesting. We haven't used it before. We were using Azure AI search for that, but we've had great conversations with the product team, and we realize that a couple of workloads are more appropriate for Cosmos. The search results quality is still determined by Azure AI search, and we haven't used vector databases in production workloads. However, from what we've seen from a hands-on demo, it can help.

What needs improvement?

A minor improvement would be enabling batch operations through the UI. Currently, to delete all documents in a collection, we must use an API, which some of my team finds inconvenient for admin tasks.

For how long have I used the solution?

We have been using Cosmos DB for six years.

What do I think about the stability of the solution?

Cosmos DB performs exceptionally well and has not caused any issues that necessitate adjustments in nodes for improved performance.

What do I think about the scalability of the solution?

The solution scales exceptionally well. Partitioning, indexation for collections, and the dynamic scaling feature allow us to manage performance and costs effectively. We like that it can auto-scale to demand, ensuring we only pay for what we use.

Which solution did I use previously and why did I switch?

Before Cosmos DB, we used Python for non-relational data. However, choosing Cosmos was straightforward due to our focus on leveraging Microsoft services.

How was the initial setup?

For our migration, we had to integrate both products. The source had its own interface and APIs. In terms of syncing data, we had to incorporate it directly with Cosmos. Cosmos has excellent APIs and operation services. It was easy to orchestrate migration from one data center system to the other.

The challenges were more related to network performance than anything else. We had to build our migration very close to the Microsoft network. We were working with higher network latency by doing it inside a VM on Azure.

What about the implementation team?

Our team built a migration orchestration integrating both the source and Cosmos systems using APIs.

What was our ROI?

Since starting with Cosmos DB, we have seen an overall reduction in our total ownership cost of 5 to 10 percent.

What's my experience with pricing, setup cost, and licensing?

Everything could always be cheaper. I like that Cosmos DB allows us to auto-scale instead of pre-provisioning a certain capacity. It automatically scales to the demand, so we only pay for what we consume.

What other advice do I have?

I rate Cosmos DB nine out of 10.

Which deployment model are you using for this solution?

Public Cloud
Disclosure: PeerSpot contacted the reviewer to collect the review and to validate authenticity. The reviewer was referred by the vendor, but the review is not subject to editing or approval by the vendor. The reviewer's company has a business relationship with this vendor other than being a customer: Partner
Flag as inappropriate
PeerSpot user
Buyer's Guide
Microsoft Azure Cosmos DB
April 2025
Learn what your peers think about Microsoft Azure Cosmos DB. Get advice and tips from experienced pros sharing their opinions. Updated: April 2025.
848,576 professionals have used our research since 2012.
Christian Gomez Rua - PeerSpot reviewer
IT Data Architect & Manager at Ternium Mexico S.A. de C.V.
Real User
Top 10
It has improved efficiency and response times, but the interoperability with some solutions could be better
Pros and Cons
  • "Microsoft Azure Cosmos DB has helped to improve efficiency, providing good response times and allowing the storage of AI process results, which is crucial for feedback loops."
  • "Microsoft Azure Cosmos DB offers the response times needed for advanced analytics applications."
  • "The integration with other solutions needs to improve because Cosmos DB's interoperability is lacking in some scenarios. For example, I'm currently implementing Fabric. That involves migrating from environments without apps, processing data and users, and taking them to Fabric."
  • "Cosmos DB is expensive, and the RU-based pricing model is confusing."

What is our primary use case?

The primary use case is focused on advanced analytics. We use Microsoft Azure Cosmos DB for storing results from OpenAI models, acting as a temporary information repository for APIs, and for log systems. We also experiment with its Vector Search capability.

How has it helped my organization?

Microsoft Azure Cosmos DB has helped to improve efficiency, providing good response times and allowing the storage of AI process results, which is crucial for feedback loops. 

The tool makes it easier for us to store data in a database. Our company is a Microsoft shop using Azure, and our big data ecosystems are oriented to solve needs in the Azure architecture. We are looking at maintaining the tools within the same ecosystem without breaking the whole scenario of the solutions we have to set up. Cosmos DB helps us do those types of operations. 

The performance is so good it creates an ecosystem that allows data scientists to develop applications without clashing too much or losing the security and governance over the information.

What is most valuable?

Microsoft Azure Cosmos DB offers the response times needed for advanced analytics applications. It supports multiple use cases, including storage of AI model results and temporary information repositories. 

Performance and security are valuable features, particularly when using Cosmos DB for MongoDB emulation and NoSQL. The platform's ability to efficiently tokenize AI models for later consumption is also a benefit.

Within the layer, we're using it with OpenAI. That is the main one. If we use document intelligence from the entire database layer,  it is where we have our developments deployed on Kubernetes pods that connect and leave data.

What needs improvement?

The integration with other solutions needs to improve because Cosmos DB's interoperability is lacking in some scenarios. For example, I'm currently implementing Fabric. That involves migrating from environments without apps, processing data and users, and taking them to Fabric. 

When I have the pile of information that I need a data scientist to look at, I tell them to use Fabric as the development center. They can't connect to Cosmo DB, but I have data there. The documentation could be clearer, especially concerning infrastructure aspects.

For how long have I used the solution?

We have used Microsoft Azure Cosmos DB for about two years.

What do I think about the stability of the solution?

We haven't experienced significant stability issues with Cosmos DB. Occasionally, latency occurs between applications, but it has not caused major problems.

What do I think about the scalability of the solution?

While the scalability of Microsoft Azure Cosmos DB is theoretically simple and efficient, there is a degree of uncertainty. Dynamic scalability doesn't instill full confidence and can lead to increased costs if not managed correctly.

How was the initial setup?

The initial setup requires a steep learning curve due to the differences between the query language in MongoDB and NoSQL, making it a demanding task for developers.

It requires an educational process that can't be achieved quickly. It took us about four to six months. It's an adaptive process that's not difficult, but it is time-consuming. 

What about the implementation team?

The training for using Microsoft Azure Cosmos DB has been ongoing for four to six months, indicating a lengthy adaptation process for the development team.

What's my experience with pricing, setup cost, and licensing?

Cosmos DB is expensive, and the RU-based pricing model is confusing. Although they have a serverless layer, there are deficiencies in what I can define and assign to a database. Estimating infrastructure needs is not straightforward, making it challenging to manage costs.

What other advice do I have?

I rate Microsoft Azure Cosmos DB seven out of 10. 

Disclosure: I am a real user, and this review is based on my own experience and opinions.
Flag as inappropriate
PeerSpot user
Prabakaran SP - PeerSpot reviewer
Software Architect at a financial services firm with 1-10 employees
Real User
Top 20
Exceptional search capability and fast data retrievals
Pros and Cons
  • "The searching capability is exceptional. It is very simple and incomparable to competitors."
  • "The searching capability is exceptional. It is very simple and incomparable to competitors."
  • "The RUs still appear to be a black box for everyone. Even though they explain read and write RUs, it remains unclear for many users."
  • "I would give a low rating to Microsoft support, as whenever I talked to them, I never got a solution. I had to guide them."

What is our primary use case?

We have many use cases. We are using Microsoft Azure Cosmos DB for our event streaming framework. We are using Microsoft Azure Cosmos DB to store all the event data for AI activities.

We are also using it for a RAG-based solution, though it is not entirely RAG-based. We are using Microsoft Azure Cosmos DB as a staging solution, and then we are using the AI search to index it and continue to the RAG for the LLM.

We are just using it as a staging solution. We have use cases for extracting huge documents, which can be more than 500 pages or even 10,000 pages. We cannot directly use the LLM, so we have to use a RAG-based approach. For that, we have chosen Microsoft Azure Cosmos DB and we are using the vectors there. However, instead of directly querying the vectors in Microsoft Azure Cosmos DB, we are indexing that in AI search.

What is most valuable?

The searching capability is exceptional. It is very simple and incomparable to competitors. With SQL, we have to install everything, but this is pretty quick. We have a Bicep template. Using the Bicep template to create Microsoft Azure Cosmos DB containers and partition keys makes everything convenient. Scaling is also convenient.

What needs improvement?

The RUs still appear to be a black box for everyone. Even though they explain read and write RUs, it remains unclear for many users. With Microsoft Azure Cosmos DB, we are using event streaming in the entire organization. We are using a framework for event streaming, and we suddenly reached a huge amount - the capacity of 20 GB partition key. When it reaches 100% of RUs, we face issues. We have to work on rebuilding the partition key. 

Regarding billing, we need better control. Sometimes it exceeds the forecasted budget. More clarity on RUs would be beneficial, even though documentation exists.

There is a 2 MB limitation for a document, which is a hard limit. Additionally, modeling in Microsoft Azure Cosmos DB is more challenging compared to RDBMS and other NoSQL solutions because we cannot store everything in one place. Since it's NoSQL, we sometimes need to split one document into multiple containers due to the 2 MB limitation.

For how long have I used the solution?

I have been using it for more than two years.

What do I think about the stability of the solution?

Its stability is good. I would rate it an eight out of ten for stability.

What do I think about the scalability of the solution?

Scalability is pretty good. I would rate it an eight out of ten for scalability.

How are customer service and support?

I would give a low rating to Microsoft support, as whenever I talked to them, I never got a solution. I had to guide them.

If the support ticket lands in certain regions such as Sweden, they have more knowledge and the ticket gets resolved easily. At times, it moves between departments, requiring escalation to get the correct person involved.

The support team needs improvement in understanding who they are talking to. They should not ask basic questions when speaking with experienced users. I am deeply knowledgeable about Microsoft Azure Cosmos DB, which I have had to explain to the support team.

How would you rate customer service and support?

Neutral

How was the initial setup?

It is very simple. We can't compare it with any competitor. We just use the Bicep template.

Its implementation takes a maximum of one hour.

What's my experience with pricing, setup cost, and licensing?

Because of the lack of understanding about RUs, the costs become unpredictable. It sometimes goes over the budget.

What other advice do I have?

Currently, they are implementing Fabric and OneLake solutions. Fabric appears faster. According to Microsoft representatives, querying in Fabric instead of Microsoft Azure Cosmos DB will be quicker. However, I remain confident in the querying capability of Microsoft Azure Cosmos DB.

It is pretty good, and currently, everyone wants to move from Microsoft Azure Cosmos DB to Databricks, but when I query data in Databricks, it takes considerable time with huge amounts of data. It stores in the BLOB in the backend, but when we use Microsoft Azure Cosmos DB, it retrieves the data much faster. The main consideration is being careful with fixing the partition key.

I would strongly recommend it for new projects. When you create a project from scratch, it is easy to implement Microsoft Azure Cosmos DB because the library is very pretty good. You can just use the library and create a container. I do not see any complexity at all in using Microsoft Azure Cosmos DB. 

I would rate Microsoft Azure Cosmos DB a nine 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.
Flag as inappropriate
PeerSpot user
Co-Founder at arpa
Real User
Top 5Leaderboard
Caters to different types of applications and offers scalability and availability
Pros and Cons
  • "Microsoft Azure Cosmos DB is a good solution for distributed application requirements. We can perform multi-modeling."
  • "For modern applications, I would recommend Microsoft Azure Cosmos DB."
  • "Overall, it works very well and fits the purpose regardless of the target application. However, by default, there is a threshold to accommodate bulk or large requests. You have to monitor the Request Units. If you need more data for a particular query, you need to increase the Request Units."
  • "Overall, it works very well and fits the purpose regardless of the target application. However, by default, there is a threshold to accommodate bulk or large requests."

What is our primary use case?

For retail, all the backend data, such as merchandise items, is stored in Microsoft Azure Cosmos DB. This data is processed by backend APIs, and the UI can perform displays, printouts, edits, creations, etc.

How has it helped my organization?

Cost-wise, it is transparent. It supports traceability. Any activity happening in your Microsoft Azure Cosmos DB can be seen from the Azure portal via log events. If you have some sort of observability, you can centralize logging and create historical insights or virtualization based on the activity. By default, Microsoft Azure Cosmos DB provides all of that on their main portal.

It is responsive when you have a large dataset stored in your Microsoft Azure Cosmos DB. It is no problem. You can quickly scale it. Unlike traditional solutions, you do not have to deal with a separate team managing the database.

Search results have been good. It is a good experience because you can search results via the Azure portal, via a query, or via CLI. You have plenty of options. Aside from that, you can do quick scaling of your Microsoft Azure Cosmos DB whenever you have an issue with the workload, capacity, etc.

Traditional database solutions require back-and-forth coordination between teams which can lead to delays in implementing simple tasks. With Microsoft Azure Cosmos DB running on the cloud, the developer can do a quick query, and the operator can do technical analysis or troubleshooting. It is beneficial overall in terms of operational effectiveness.

Optimization is achieved through indexes. It is pretty similar to other SQL or database solutions. Microsoft Azure provides Data Studio, where you can explore your schema, tweak it, create a backup, and restore existing data within Microsoft Azure Cosmos DB. These tools make your life easier if you do not like working with the CLI.

What is most valuable?

Microsoft Azure Cosmos DB is a good solution for distributed application requirements. We can perform multi-modeling. For modern applications, I would recommend Microsoft Azure Cosmos DB. It caters to different types of applications and also provides an API base wherein you can perform automated updates for your Microsoft Azure Cosmos DB resources.

It provides all the common features that other database solutions offer. The difference is that Microsoft Azure Cosmos DB is cloud-hosted. You can host it on-prem, but running in the cloud simplifies everything in terms of support and availability.

What needs improvement?

Overall, it works very well and fits the purpose regardless of the target application. However, by default, there is a threshold to accommodate bulk or large requests. You have to monitor the Request Units. If you need more data for a particular query, you need to increase the Request Units.

For how long have I used the solution?

I have only used the technology for three to four months.

What do I think about the stability of the solution?

It depends on how you configure your Microsoft Azure Cosmos DB. If you are using it as a standalone service, you are unlikely to gain the full benefits of having Microsoft Azure Cosmos DB running on the cloud. However, if you consider scale sets and scalability, for example, you can achieve higher stability.

With Microsoft Azure Cosmos DB, we created an availability zone to ensure that there is a replica of the primary Microsoft Azure Cosmos DB instance. If the primary goes down, there is a secondary database that they can use for the application. The backend application gets repointed to the secondary instance.

I do not see any problem with the latency. Connecting from your local client like Azure Data Studio to your Microsoft Azure Cosmos DB can take time, but if you are going to connect an application to the database in the same region, there is no latency at all.

What do I think about the scalability of the solution?

It is highly scalable. I would rate it a nine out of ten for scalability.

We can quickly scale using Terraform. We can perform horizontal and vertical scaling with Terraform and apply it. It will automatically reflect in our Azure environment.

How are customer service and support?

Excellent support always comes from Microsoft. If you have a problem with different services, you just raise a ticket, and someone will reach out to you. I can elevate the severity depending on the criticality of your issues and the impact.

How would you rate customer service and support?

Positive

Which solution did I use previously and why did I switch?

We did not use any other solution previously because this is a new project for modernizing the merchandising area.

How was the initial setup?

The setup is easy, especially in the cloud, so I would rate it a nine out of ten for the ease.

All our infrastructure layers are being controlled by Terraform. If we want to set up a new environment, it can be done within a day for not only Microsoft Azure Cosmos DB but also all resources required for an end-to-end application flow.

What about the implementation team?

You can do it yourself. They have good documentation, which is easy to follow.

What was our ROI?

You can get an ROI in a year, provided you deploy it properly with the right baseline forecasted plan in terms of resource sizing. There are many factors when it comes to ROI, such as how quickly you can onboard your application and consume the backend Microsoft Azure Cosmos DB. For those new to the cloud, it might be hard to get the ROI quickly, but those with existing resources in the cloud can achieve their ROI in the short term.

It can save a lot if you perform regular monitoring. If you have a monitoring team for checking the overall utilization of Microsoft Azure Cosmos DB resources, it will save a lot of cost. You can react quickly and trim down the specs, memory, RAM, storage size, etc. It can save about 20% of the costs.

What's my experience with pricing, setup cost, and licensing?

Its cost is transparent. Pricing depends on the transaction and data size, but overall, it is cheaper compared to hosting it on your corporate network due to other factors like power consumption. 

Current pricing is fine, and you can scale it afterward. You can start with a small size and scale eventually. That is a benefit of having Microsoft Azure Cosmos DB on the cloud.

Which other solutions did I evaluate?

It was the primary platform choice of the client at the time.

What other advice do I have?

You can quickly learn Microsoft Azure Cosmos DB if you are familiar with how databases work.

Microsoft Azure Cosmos DB offers all you need for a particular database solution. It is better if you can host it in the cloud, applying security controls like data at rest and data in transit. You must ensure Microsoft Azure cloud is only accessible in a secure manner.

Scalability-wise, you can quickly scale your Microsoft Azure Cosmos DB, unlike on-premises, where you must request and procure additional resources. There is no such need; you can use infrastructure as code like Terraform and adjust the resource specs whenever you like. There are no capacity and workload concerns.

I would rate Microsoft Azure Cosmos DB a nine 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?

Microsoft Azure
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Flag as inappropriate
PeerSpot user
reviewer2595795 - PeerSpot reviewer
Lead Solutions Architect at a energy/utilities company with 10,001+ employees
Real User
Top 20
Dynamic scaling has reduced our overhead
Pros and Cons
  • "The ability to scale automatically is very valuable. Additionally, multi-region support automatically synchronizing to a different region for multi-region applications is a cool feature. It's more of a lift with other databases to configure that extra region and set up replication, even if it's on the cloud. With Azure, it's just a button click. It's that simple."
  • "The ability to scale automatically is very valuable."
  • "The auto-scaling feature adjusts hourly. We have many processes that write stuff in batches, so we must ensure that the load is spread evenly throughout the hour. It would be much easier if it were done by the minute. I'm looking forward to the vector database search that they are adding. It's a pretty cool new feature."

What is our primary use case?

Our primary use case for Cosmos is the storage of shell-fed signs and our pricing systems. We use it as a transactional database on the back end.

What is most valuable?

The ability to scale automatically is very valuable. Additionally, multi-region support automatically synchronizing to a different region for multi-region applications is a cool feature. It's more of a lift with other databases to configure that extra region and set up replication, even if it's on the cloud. With Azure, it's just a button click. It's that simple. 

The learning curve depends on your background. It takes time to learn if you're from a relational database background like us. However, it's fairly straightforward from a scalability perspective once you get the hang of it. You need to be aware of certain concepts like partitions and partition keys. Once you get those, I think it's fairly okay.

What needs improvement?

The auto-scaling feature adjusts hourly. We have many processes that write stuff in batches, so we must ensure that the load is spread evenly throughout the hour. It would be much easier if it were done by the minute. I'm looking forward to the vector database search that they are adding. It's a pretty cool new feature. 

For how long have I used the solution?

I have used Cosmos for about five years.

What do I think about the stability of the solution?

The latency and availability are good. I don't have any complaints there. It goes back to how you're retrieving data and whether it's structured correctly. 

What do I think about the scalability of the solution?

Cosmos can definitely scale well, but it comes with a cost. One of our databases is quite large and scaled up significantly due to our needs.

How was the initial setup?

We have two databases, so it was challenging to define the partition key and ensure the workloads are spread out. We have millions of records in our Cosmos database, so spreading that out was difficult. We had to spread out the load to avoid a 429 error for a request that was too large. Partition key is more of a learning experience to understand the right thing to do. The entire process took around six months. It wasn't too hard.

What was our ROI?

We have reduced our overhead through dynamic scaling. I can't say precisely how much we've reduced our total cost of ownership using Cosmos DB, but we have a similar on-prem workload running on SQL, and we only pay a fraction for Cosmos.

What's my experience with pricing, setup cost, and licensing?

Cosmos is cheaper than other solutions, but you must be smart about how you use it to keep costs down. We've made mistakes where the cost has increased more than we expected. You have the opportunity for it to be cheap or costly.

Which other solutions did I evaluate?

We were looking for a multi-region document database, and the ease of configuring multi-region in Cosmos was a significant factor in our choosing the solution. We also wanted to bring costs down, which was the other reason.

What other advice do I have?

I would rate Cosmos an eight out of ten. Be cautious about spreading out the load evenly, especially when dealing with large volumes to prevent getting errors.

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.
Flag as inappropriate
PeerSpot user
Kunal Mukerjee - PeerSpot reviewer
Vice President, Technology, Strategy & Architecture at Docusign
Real User
Top 20
The solution has improved search result quality, throughput, and query latency
Pros and Cons
  • "It is integral to our business because it helps manage schema and metadata for all our documents and customers. The AI insights we glean based on Azure OpenAI also end up in Cosmos DB. We need a NoSQL store because the schema is dynamic and flexible, so Cosmos DB is a great fit. It has four nines or possibly five nines availability, excellent geo-distribution, and auto-scaling."
  • "Cosmos DB is effective at handling large queries."
  • "The challenge for us is always scale."

What is our primary use case?

I'm the primary systems architect at DocuSign. We just launched a product at called Intelligent Agreement Management, and a central pillar of that is schema understanding. We use Microsoft Azure Cosmos DB as our schema store. It's the brains of our entire system. 

How has it helped my organization?

It is integral to our business because it helps manage schema and metadata for all our documents and customers. The AI insights we glean based on Azure OpenAI also end up in Cosmos DB. We need a NoSQL store because the schema is dynamic and flexible, so Cosmos DB is a great fit. It has four nines or possibly five nines availability, excellent geo-distribution, and auto-scaling. 

Cosmos DB has improved search result quality, throughput, and query latency. There are trade-offs to finding the sweet spot among all of these. Having a NoSQL solution that can do that in a 100 percent Azure shop is the best fit we could want. 

What is most valuable?

The features that stand out as most valuable are the autoscaling and hierarchical partition keys. We use account IDs at a higher level and entity IDs at a lower level. That gives us optimal query performance for our workloads.

AI has been a game-changer for new people without expertise, making it easier to use and optimize. You can ask GPT or Copilot for optimization strategies. If you have queries that are not performing well, you can feed the same queries, execution plan, and other things to the AI. The AI returns reasonable recommendations for what to do. 

Cosmos DB is effective at handling large queries. At DocuSign, we're processing over a billion signers and massive agreements and contracts. These things are being used for business-critical workloads, so performance, scale handling, and latency are crucial. Without these, we wouldn't have a product that anyone would want to use. 

For how long have I used the solution?

I have worked with Cosmos DB at my company for the past 18 months, but I have used Cosmos at Microsoft for nearly a decade.

What do I think about the stability of the solution?

Cosmos DB provides impressive stability due to its high availability and ability to handle massive data volumes, which is essential for our business-critical workloads.

What do I think about the scalability of the solution?

We have found Cosmos DB’s scalability to be exceptional, enabling horizontal and vertical sharding and supporting massive scale with efficient auto-scaling.

How are customer service and support?

The team behind Cosmos DB has been highly responsive, providing excellent transparency and high-quality postmortem reviews during incidents, ensuring continuous support and improvement.

How would you rate customer service and support?

Positive

How was the initial setup?

The initial setup was straightforward. Cosmos DB's integration went quickly due to the team's prior experience with Azure services, allowing us to prototype within a couple of months.

The challenge for us is always scale. We needed to move all the tables in lockstep that are involved in join queries. In some cases, we came up with a structured pipeline where stage one would go to SQL, and some of the query hints for the Cosmos DB thing would come from that first stage and so on. That was a migration challenge in normalizing the data, bringing it into Cosmos, and then, again, denormalizing some of the data. 

What about the implementation team?

The critical mass of internal expertise, particularly from people previously working with Azure, enabled a smooth implementation with Cosmos DB.

What was our ROI?

Cosmos DB has always met our targets. However, we've always had our schema store on Cosmos DB, so it's not like we started with something expensive and brought our TCO down using Cosmos. Still, it's an excellent option for NoSQL or semi-structured data because our agreements start as a morass of raw data from PDF, OCR PDF, or paper OCR scans. 

After that, we match the structure with a known entity and for that known customer and run queries on Cosmos DB to bring out the rest of the structure and use AI to enhance it even further. In some cases, the customer will add custom fields to their entities. Cosmos gives us a low turnaround time from when the dynamic nature kicks into when the results return from that new schema information back to the same customer. It's a rich, complex scenario, but also a massive scale of data and customers.

What's my experience with pricing, setup cost, and licensing?

The pricing model for Cosmos DB has aligned well with our budget expectations. We did not encounter pain points related to costs and found it cost-effective compared to high-end SQL solutions initially considered.

Which other solutions did I evaluate?

When I joined, the company was already invested in Azure, so there was never a bake-off between Cosmos DB and offerings from AWS. We implemented Cosmos initially because we have a massive transaction database on SQL. On things like the total cost of ownership, Cosmos DB shines. It seems to be the correct approach for our semi-structured data and our schema and entity store. A combination of Cosmos DB and SQL Azure was how we shaped our architecture on this journey, but we didn't evaluate Cosmos DB against non-Azure NoSQL databases.

What other advice do I have?

I would rate Cosmos DB as an eight out of 10 for its overall capabilities, responsiveness, and alignment with our needs.

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?

Microsoft Azure
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Flag as inappropriate
PeerSpot user
Noman Saeed - PeerSpot reviewer
Principal Consultant - D365 F & O Technical Solution Architect at Visionet Systems Inc.
Consultant
Top 20
It provides concrete and optimized data when searching for new products on the site
Pros and Cons
  • "Cosmos is preferred because of its speed, robustness, and utilization. We have all the merchandising information in Cosmos DB, which provides concrete and optimized data when searching for new products on the site. It is faster than other relational databases."
  • "Cosmos is preferred because of its speed, robustness, and utilization."
  • "The main area of improvement is the cost, as the expense is high. Also, when writing processes into Cosmos, sometimes the threshold is met, which can be a problem if developers have not written the code properly, limiting calls to five thousand. These aspects need addressing."
  • "The main area of improvement is the cost, as the expense is high. Also, when writing processes into Cosmos, sometimes the threshold is met, which can be a problem if developers have not written the code properly, limiting calls to five thousand."

What is our primary use case?

We use Cosmos DB as a database for the cache mechanism. We have a product integrating e-commerce platforms with backend ERPs, pulling merchandising data. We maintain millions of products in the ERP and store them in Cosmos DB in document format. When a query comes from the e-commerce platform, it goes directly to Cosmos.  

How has it helped my organization?

Cosmos is preferred because of its speed, robustness, and utilization. We have all the merchandising information in Cosmos DB, which provides concrete and optimized data when searching for new products on the site. It is faster than other relational databases.

It can query large amounts of data efficiently, depending on how you write the queries. This is a Document Database, and the system needs to read the whole document. If that is correctly clustered, then it will be faster, but if the developer makes some mistakes, it won't be optimized. 

What is most valuable?

The most valuable feature is the data writing process, where we write data into batch segments. The built-in vector database is helpful. There's one vector for the product and another for the price. I don't have much experience with vectors because we use Cosmos as a cache DB. You won't see any major challenges when you use it as a more significant enterprise application. I would rate the vector database's interoperability with other solutions an eight out of 10. 

What needs improvement?

The main area of improvement is the cost, as the expense is high. Also, when writing processes into Cosmos, sometimes the threshold is met, which can be a problem if developers have not written the code properly, limiting calls to five thousand. These aspects need addressing.

For how long have I used the solution?

I have been using Cosmos DB for three years.

What do I think about the scalability of the solution?

I would rate the interoperability of the vector database with other solutions as eight out of ten. It's good, but the performance depends on how well queries are written.

Which solution did I use previously and why did I switch?

We compared MongoDB and Cosmos DB. Cosmos DB is easier to configure, and our team is already familiar with managing it, providing an advantage.

How was the initial setup?

The initial setup was straightforward, with no major challenges. We onboarded the team in no more than three days. 

What's my experience with pricing, setup cost, and licensing?

The cost of using Cosmos DB is high, which sometimes raises concerns from clients regarding the increased solution cost. While it has helped decrease the overall cost of ownership, the specific figures are not readily available.

What other advice do I have?

I would rate Azure Cosmos DB eight out of 10. The solution is variously challenging but manageable once the team is familiar.

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?

Disclosure: My company has a business relationship with this vendor other than being a customer:
Flag as inappropriate
PeerSpot user