We use it as our main database for our network access control software, and we use it to store all of the information we need to authenticate different devices and users to the networks of our customers. It maintains all of the necessary data for our SaaS product.
Chief Technology Officer at Portnox
Satisfies our needs for global availability, flexibility, and scalability
Pros and Cons
- "We chose Azure Cosmos DB initially because of the type of data that we needed to store. We have a schema that is very nondeterministic and flexible. It is always changing based on whatever data we need to acquire from different devices, so we needed a document store with a flexible schema."
- "The one thing that I have been working on with Microsoft with regard to this is the ability to easily split partitions and have it do high-performance cross-partition queries. That is the only place where either our data size or our throughput has grown beyond one partition, so being able to do cross-partition queries efficiently would be my number one request."
What is our primary use case?
How has it helped my organization?
It is pretty easy to maintain and to optimize. The main thing that we have to deal with is the RUs. Probably the number one topic of Azure Cosmos DB in the world is how to make sure you have the right RUs set in place for each of your different collections, but the tools that are available in the Azure portal make it very easy for us to check how the performance is going. We can check if we need to adjust anything within the system to ensure that we have the right scale and the right split of our different indexes so that we are getting the most throughput for the data we need. In general, it is very easy for us to maintain. We just need to use the Azure tools to let us know when we need to pay attention to the different throughput variables that are important in the general maintenance of the product.
We use Azure AI Search for all of our search needs. The integration that Azure AI Search has with Azure Cosmos DB is very good. We heavily utilize the integration with Azure AI Search for a lot of the features on our website. The search works very well. I do not know if we have what one would consider large amounts of data because each one of our customers is searching through just their own set of data. On average, each customer has data in the range of only gigabytes, so the search does very well, but I do not know if you would consider what we have as very large amounts of datasets. We are dealing in the few gigabytes range rather than anything huge like terabytes.
The benefits of its global availability and the response time were noticed right away because we immediately had customers who were globally distributed, so the latency was noticed right away. We got a good performance that way. We did not notice any of the other benefits until we got a lot more customers and had a lot bigger scale. As our scale has increased dramatically over the past couple of years, we have noticed that we have not had to do much with Azure Cosmos DB. It just takes all of our additional data and additional queries and all of the additional throughput that we are throwing at it. It does not need very much in terms of maintenance and performance tuning because it handles everything we need pretty much out of the box, so it is a low-maintenance solution for us where we just check on things every once in a while as a best practice. In terms of scalability, we have doubled, tripled, and quadrupled our customer size or number of customers, and we have not had to do very much with it architecturally just because it has been able to handle that scale.
For onboarding, the documentation is very good. As soon as I joined the company, I read a lot of the Azure Cosmos DB documentation so that I understood it. It is well documented, and there are support forums and Microsoft experts. We have a Microsoft Solution Architect dedicated to us, and we have been able to ask him questions. The community surrounding it and Microsoft's ability to answer all of our questions, my questions specifically, have been really good. The documentation is great. I have been able to find all of my answers during my tenure. Everything is generally answered in the documentation, and for what is not, Microsoft has been very quickly able to get to us through our Solution Architect.
Within the first week, I was already executing queries against the database and monitoring its performance. Within a week, I had a basic understanding of how to interact with the database and understand different performance metrics and structures within the database. It is pretty easy to learn if you are familiar with other databases. Because I was familiar with other document stores and SQL-based databases, there was not a lot to understand. There are some differences in the SQL language that you are allowed to use with Azure Cosmos DB, so there was a little bit of a learning curve there, but the documentation was really specific. It is not a sharp learning curve if you are familiar with any other database systems. If you are familiar with SQL Server, MongoDB, MySQL, or Postgres, a lot of the concepts are exactly the same.
What is most valuable?
We chose Azure Cosmos DB initially because of the type of data that we needed to store. We have a schema that is very nondeterministic and flexible. It is always changing based on whatever data we need to acquire from different devices, so we needed a document store with a flexible schema.
In addition to that, our customers are globally located, so we needed a database store that could be globally accessed and had minimal latency, good throughput performance, good query performance, as well as scalability. All of the things that you look for in a good piece of software about performance, scalability, high availability, and disaster recovery are available in Azure Cosmos DB. Because of that and because it is a flexible document storage, we went with Azure Cosmos DB.
What needs improvement?
The one thing that I have been working on with Microsoft about this is the ability to easily split partitions and have it do high-performance cross-partition queries. That is the only place where either our data size or our throughput has grown beyond one partition, so being able to do cross-partition queries efficiently would be my number one request.
The request unit architecture that they have in place is understandable but could be better. What you get out of some solutions like SQL Server or MySQL is a lot more understandable. The request unit architecture of Azure Cosmos DB is not as easy as pure SQL solutions. They could do better in making the RUs more understandable and more flexible because changing your partition keys and your indexes is a larger batch of work than it necessarily needs to be.
Buyer's Guide
Microsoft Azure Cosmos DB
August 2025

Learn what your peers think about Microsoft Azure Cosmos DB. Get advice and tips from experienced pros sharing their opinions. Updated: August 2025.
865,384 professionals have used our research since 2012.
For how long have I used the solution?
The company I have been working for has been using it for more than five years, but I have been with the company for just over two years. I have been working with Azure Cosmos DB during my entire two-plus years at the company.
What do I think about the stability of the solution?
We have had only one incident where Azure Cosmos DB went down. It was about two years ago in the East US. They had an incident where the update they made caused some downtime for us. I forgot what the duration was, but luckily, we had global replication for our main Azure Cosmos DB setup, so while the East US was down, the West EU region picked up. The majority of our operations continued without issue because of our use of the global replication option available within Azure Cosmos DB.
Latency and availability are great. You can, of course, write code that does bad things for it, and we have had to fix our own code sometimes. Whenever we have written our code properly, latency and availability have been great.
What do I think about the scalability of the solution?
The scale has been wonderful. Our ability to add request units as we have needed them has been easy. We do not have to do much other than tell the system we want more, and then it automatically scales for us, so we do well there.
The only limitation is around the partitions. Each physical partition maxes out at 10,000 request units as they have documented. We have had to deal with that while designing our data structures to make sure that we take into account that physical partition limitation.
How are customer service and support?
The quality is top-notch. We have been able to talk directly to some of the Azure Cosmos DB experts at Microsoft. We have been able to get extremely detailed answers with very specific recommendations for all of our different questions.
Their speed has been definitely acceptable. Within a day or two, I get at least an acknowledgment of my question. We have not had any high-severity questions to be answered right away. Most of our questions are during the design phase where we just need to know specific recommendations based on our needs, so there has been no real-time pressure. Answering or acknowledging our question within a day or two has been an acceptable time frame. We generally get our answers within a week, which has also been acceptable for us. We have never needed a super fast answer, but I am also clear about that in my communication with them. I tell them that it is not an emergency, and we are just in the design phase and need these questions answered.
I would rate their support a ten out of ten. There is nothing that I would ask for more from the support. They are responsive. They give accurate answers, and they are easy to deal with. That is all that you want from a support experience.
How would you rate customer service and support?
Positive
Which solution did I use previously and why did I switch?
Historically, in my career, I have used SQL Server, ClickHouse, Postgres, and MySQL. ClickHouse is probably the closest equivalent, but we had to maintain everything in-house, so it was a lot more intensive to maintain. SQL Server was nice, but it does not have the document flexibility, or it did not have that at the point in time we were thinking of using Azure Cosmos DB. So, I am very familiar with all the SQL-based servers historically. They just did not have the necessary document flexibility that we were looking for when we selected Azure Cosmos DB.
How was the initial setup?
It was already in place when I joined.
It does require some maintenance as we grow. Each one of the collections scales up by request units. We use the autoscale feature, but it has a bounded range, so as we grow, we watch the RU maximum, and we adjust the RU maximum of our different containers as we scale up. The maintenance is minimal. We change the RU scale maybe once per quarter. Otherwise, everything goes fairly without maintenance.
What was our ROI?
I do not know if it has helped us decrease the total cost of ownership, but certainly, it has helped in our DevOps maintenance. Our DevOps people spend a lot less time worrying about or dealing with Azure Cosmos DB. Because of that, we do not spend a lot of person-hours on Azure Cosmos DB. However, Azure Cosmos DB does come at a premium price in terms of being able to do all of its features. It has an appropriately associated cost with it. Because of that, we have not done any formal calculations to see if it saves us more than some of the other solutions such as SQL Server or Postgres. We have not done a cost comparison. What we do know is that it satisfies all of our needs. We do not spend a lot of time thinking about it. As we add features and datasets to it, we do not have to do a lot of performance testing, so we are just able to add things to it. It just works, and we do not have to spend a lot of development time, QA time, or DevOps time worrying about whether it is going to be able to satisfy what we need it to do.
As opposed to running our own VMs or our own databases, it would have reduced our overhead costs. All we have to do is go into the Azure portal, click a couple of buttons, and type a couple of numbers, and then it just happens without any other effort. It takes us seconds to minutes to change things, whereas other solutions might take days or hours to process. From that perspective, there is certainly a reduction because it only takes us a few seconds to scale our Azure Cosmos DB without any other effort. However, you pay for that with the actual price of Azure Cosmos DB itself. That is somewhat built into the price where Microsoft takes on that maintenance cost, but you pay for it.
What's my experience with pricing, setup cost, and licensing?
The pricing and licensing model was initially difficult to understand, but as soon as I learned what was going on and how it was priced, it was pretty easy. What is more difficult is to understand how your system is going to behave specifically with the specific partitioning and querying that you are doing. Some of it is reactive because you cannot always predict what your customers are going to use in your product and in what specific way. So, while we have understood the pricing model, what we have not understood is which parts of our system would end up being the most expensive, costing us the most, or needing to scale the most. It is not necessarily an issue with Azure Cosmos DB itself. It is about understanding your individual software or our individual software when it is running on top of Azure Cosmos DB. It is about understanding what the behavior is going to be.
What other advice do I have?
I would advise taking advantage of all of the features that are available. Especially if you are a globally distributed business, make sure that you have all of the high availability and backup options enabled so that you are not surprised in case of a problem.
Like almost all of the recommendations that you see in different Microsoft videos, make sure that your partition keys are set up properly from a RU perspective so that you know that you will be able to scale your individual containers effectively without running into the limitation of 20-gigabyte physical partition size or 10,000 RU physical partition throughput. Be aware that those exist and design your partition keys for the future so that you will not be limited when your system starts to get heavily utilized in the future.
I would rate Azure Cosmos DB an eight out of ten. There are some improvements that I would like to see around the physical partitions.
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

Full Stack Developer at a tech services company with 5,001-10,000 employees
Enables efficient global data management with impressive low latency
Pros and Cons
- "It handles large-scale operations efficiently, such as tracking views, logs, or events."
- "I definitely recommend Microsoft Azure Cosmos DB."
- "There are some disadvantages as it is costly compared to other NoSQL databases."
- "There are some disadvantages as it is costly compared to other NoSQL databases. It has a complex pricing model and has a strict partitioning strategy."
What is our primary use case?
I find SQL API suitable. I used it in my last project. Previously, I worked for a client called EPS, which has a product called BOS (brokerage operation support system). There I have used the SQL API.
I have used it in a product called BOS, and we achieved many things with Microsoft Azure Cosmos DB, which helped improve our products efficiently.
How has it helped my organization?
It helps in many ways in my current projects such as brokerage operation, which shifts multiple data in different regions. It helps significantly in storing and retrieving data from different countries for shipping details, shipping ID, and all data records in different countries.
What is most valuable?
Microsoft Azure Cosmos DB is a fully managed globally distributed NoSQL database. It is highly available with low latency and scalability. It supports multiple data models and APIs, making it flexible for different applications. Its features include multi-model support, global distribution, automatic scaling, and support for multiple APIs such as SQL API, MongoDB API, Gremlin, and Cassandra.
We can use Microsoft Azure Cosmos DB for storing and managing all types of data manipulations including inserting, fetching, and updating records. These operations can be performed efficiently.
The storage in Microsoft Azure Cosmos DB is globally distributed and highly efficient. Storing and retrieving data is much faster and more efficient.
It is cloud-friendly and easy to use. We can easily insert data and retrieve information from this cloud platform. The UI is better, faster, and efficient.
It supports various types of APIs and is a fully managed, globally distributed database that helps in different regions. Microsoft Azure Cosmos DB is a distributed and multi-model NoSQL database that supports SQL, MongoDB, and other platforms. Its scaling is managed using the request per unit, and it has auto-scaling based on business requirements.
The features include support for multiple NoSQL data models such as documents in JSON format, key-value store, graph database, wide column store, and MongoDB compatibility. In the document model, we can use the SQL API, while in the key-value store, we can use the table API. The Graph database is used for Gremlin.
It has a large capacity of up to 12 GB per physical partition per container. I have used up to three to four GB.
Its latency is high and impressive. The support is very high, with read-write latency at 10 ms per second.
It handles large-scale operations efficiently, such as tracking views, logs, or events. It has high write throughput and handles partition issues and storage growth effectively.
What needs improvement?
There are some disadvantages as it is costly compared to other NoSQL databases. It has a complex pricing model and has a strict partitioning strategy. There are limited SQL query capabilities in Microsoft Azure Cosmos DB.
It is more expensive than other server cloud service providers with its request units pricing model.
For how long have I used the solution?
I have one year of working experience with Microsoft Azure Cosmos DB in my current organization.
What do I think about the scalability of the solution?
The solution scales very well.
How are customer service and support?
I'm not sure about technical support. I haven't worked with them.
Which solution did I use previously and why did I switch?
Before Microsoft Azure Cosmos DB, I used SSMS and MySQL server management. For cloud solutions, I have only used Microsoft Azure Cosmos DB.
How was the initial setup?
Initially, we logged into the Azure portal and create a new Microsoft Azure Cosmos DB account. Then we chose an API such as SQL API or MongoDB. We set up account details, subscription, region, and enable geographical replication and multi-write regions. After that, we created a database and specify the name and provisional throughput. Then we created a container inside, providing the container ID, partition key, and index policy.
It took around 15 to 20 days for full-fledged training.
Initially, it took approximately three months to get comfortable for learning purposes. I encountered some difficulties while learning, however, through the project, I learned many things.
It's fully cloud-based, so there is no maintenance.
What about the implementation team?
We have six developers for deployment and related tasks in Microsoft Azure Cosmos DB.
Which other solutions did I evaluate?
AWS is another choice available. I find Microsoft Azure Cosmos DB better suited for my needs.
Microsoft Azure Cosmos DB and AWS DynamoDB are basically the same, however, Microsoft Azure Cosmos DB supports multi-region support and can replicate and auto-replicate the data. It is highly manageable, which is why I chose Microsoft Azure Cosmos DB.
What other advice do I have?
I definitely recommend Microsoft Azure Cosmos DB. It handles large amounts of data, is highly reliable, and operates in a very fast and efficient way. Users can deploy their applications in the cloud, and it supports various APIs. On a scale of one to ten, I rate Microsoft Azure Cosmos DB a nine out of ten.
Which deployment model are you using for this solution?
Public Cloud
Disclosure: My company does not have a business relationship with this vendor other than being a customer.
Last updated: May 4, 2025
Flag as inappropriateBuyer's Guide
Microsoft Azure Cosmos DB
August 2025

Learn what your peers think about Microsoft Azure Cosmos DB. Get advice and tips from experienced pros sharing their opinions. Updated: August 2025.
865,384 professionals have used our research since 2012.
Associate Software Architect at a tech vendor with 51-200 employees
Offers efficient data management with room for simplified migration
Pros and Cons
- "Microsoft Azure Cosmos DB simplifies the process of saving and retrieving data."
- "Microsoft Azure Cosmos DB simplifies the process of saving and retrieving data."
- "There should be a simpler way for data migration."
What is our primary use case?
I was using Microsoft Azure Cosmos DB to store unstructured data.
How has it helped my organization?
It is easy to learn how to use Azure Cosmos DB.
Azure Cosmos DB enhances search result quality by enabling rapid data retrieval within its collections. It can handle large amounts of data efficiently.
Azure Cosmos DB offers numerous advantages, including flexibility, cost-effectiveness relative to performance, and a pre-existing infrastructure on Azure. Its support for multiple data models, extensive document database capabilities, and fully managed maintenance provided by Azure make it a compelling choice with immediately apparent benefits.
What is most valuable?
Microsoft Azure Cosmos DB simplifies the process of saving and retrieving data. The only requirement is to create the collection and streamline data management.
What needs improvement?
There should be a simpler way for data migration. Currently, we need to write scripts to update data in bulk and ensure proper connectivity for migration with .NET, which seems hectic and risky.
For how long have I used the solution?
I have used Cosmos DB in my previous project for around one year.
What do I think about the stability of the solution?
Azure Cosmos DB offers high availability, at approximately 99.9 percent, with good latency.
What do I think about the scalability of the solution?
Azure Cosmos DB handles scalability well. It is easy to scale up the workloads.
Dynamic scaling enhances cost-efficiency and usability by automatically adjusting resources to meet demand. This means the system scales up capacity when needed and scales down when not in use, preventing unnecessary expenses.
Which solution did I use previously and why did I switch?
I have used MongoDB, but not extensively. If working with Node, I would recommend Mongo, but in a Microsoft environment, I recommend Cosmos.
How was the initial setup?
The initial deployment was manageable. It took around five to seven hours to deploy Cosmos to a working condition fully.
What about the implementation team?
At that time, we had a team of four people managing the infrastructure and deployments.
What other advice do I have?
I would rate Microsoft Azure Cosmos DB a seven out of ten.
New users should be familiar with DocumentDB since most people are only aware of relational databases, but Cosmos is different.
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: My company does not have a business relationship with this vendor other than being a customer.
Last updated: Nov 30, 2024
Flag as inappropriateSoftware Architect at a tech vendor with 10,001+ employees
Offers partitioning, performance, and optimization capabilities we need
Pros and Cons
- "One valuable feature of Microsoft Azure Cosmos DB is partitioning. Its performance is very nice."
- "For example, we have people spread across multiple locations; if they update data in Australia, we can access it in another location within a fraction of a second."
- "The query searching functionality has some complexities and could be more user-friendly. Improvements in this area would be very helpful."
- "The query searching functionality has some complexities and could be more user-friendly."
What is our primary use case?
I have been using Microsoft Azure Cosmos DB for the last five years for IoT-based data saving and other purposes. We use non-structural data for various reasons. For instance, we are using artificial intelligence to save multiple data sets coming from different sources.
How has it helped my organization?
It is a managed service, so we do not want to worry about other aspects.
What is most valuable?
One valuable feature of Microsoft Azure Cosmos DB is partitioning. Its performance is very nice. I use it mostly on the Microsoft backend, particularly .NET and .NET Core technology. From deployment and accessibility aspects, there is significant performance improvement.
Additionally, consistency is noteworthy. For example, we have people spread across multiple locations. If they update data in Australia, we can access it in another location within a fraction of a second. That is an impressive feature of Microsoft Azure Cosmos DB.
It is very good from the optimization and usage point of view. It is very user-friendly. Microsoft also provides support from the performance aspect. They support us from the optimization and scalability aspects.
What needs improvement?
The query searching functionality has some complexities and could be more user-friendly. Improvements in this area would be very helpful.
We have multiple applications. Our applications are running in different environments such as AWS and Azure. We are able to give flexibility to AWS to access this data from Microsoft Azure Cosmos DB. We have created an interface between them through APIs. Through the APIs, the AWS applications can consume the data from Microsoft Azure Cosmos DB, but we have seen some slowness or latency, whereas with Azure, we see better performance. Our AWS is in the Eastern zone, and people in the Western zone have some latency.
For how long have I used the solution?
I have used the solution for five years.
What do I think about the stability of the solution?
We are seeing some latency issues with AWS. It offers good availability.
What do I think about the scalability of the solution?
Being serverless, the scalability is very good.
How are customer service and support?
We pay for the support. We are happy with their support. If we face any challenges initially, they provide us with a resource to answer all our questions.
How would you rate customer service and support?
Positive
Which solution did I use previously and why did I switch?
Previously, we used MongoDB and DynamoDB, though not extensively. Because of client preferences and their use of Azure, we chose Microsoft Azure Cosmos DB. DynamoDB uses clusters, which affect costs.
How was the initial setup?
The initial setup can be somewhat tedious. We have to set up things, run them, see the results, and fine-tune them.
The initial setup took more than one month. After that, everything became automated. Now, if we want to deploy it in another location, the operational team typically takes one week. They verify whether everything is working properly or not. By using the automated scripts, we can deploy it at other locations.
What about the implementation team?
We have a separate team for configuration. We also get support from Microsoft.
What's my experience with pricing, setup cost, and licensing?
Its price is in the middle, neither too low nor too high.
What other advice do I have?
We are happy with the usage of Microsoft Azure Cosmos DB for our use case. In terms of learning, it is of medium complexity. It is neither very tough nor very easy.
Overall, I would rate Microsoft Azure Cosmos DB an eight out of ten.
Which deployment model are you using for this solution?
Hybrid Cloud
Disclosure: My company has a business relationship with this vendor other than being a customer. Partner
Last updated: Mar 31, 2025
Flag as inappropriateDirector of Technology at Unite Digital LLC
Achieving cost efficiency through schema flexibility and partition-based scaling
Pros and Cons
- "As a NoSQL database, it offers schema flexibility which simplifies design and reduces initial engineering overhead."
- "We encountered an issue with Cosmos DB's recently introduced hierarchical partition feature."
What is our primary use case?
We use Cosmos DB as our primary data store for all the different software services we offer.
How has it helped my organization?
Using Cosmos DB requires a shift in mindset due to the inherent differences between NoSQL and traditional relational databases. Those familiar with SQL Server, for example, will need to adjust to the fundamental differences between the systems. While there's an initial learning curve, Cosmos DB ultimately offers significant flexibility.
Cosmos DB offers several immediate and long-term benefits. First, it eliminates the need for extensive upfront database design, as its flexible schema allows for easy adjustments to data management. Second, it significantly reduces maintenance requirements compared to relational databases, which demand constant attention to tasks like index management and addressing issues arising from large table sizes. Cosmos DB avoids these issues, resulting in substantial cost savings over time.
Cosmos DB significantly reduced our total cost of ownership by approximately 40 percent due to recent design changes, specifically a feature called partition-based scaling.
The onboarding process for Cosmos DB is quick, due to the comprehensive documentation.
What is most valuable?
As a NoSQL database, it offers schema flexibility which simplifies design and reduces initial engineering overhead. This allows for rapid product delivery, especially for initial versions. The change feed is instrumental to our design and handling of data changes. Recent additions like partition-based scaling have significantly reduced costs of over $25,000 per month with minimal effort. These are just a few of the top features we appreciate about Cosmos DB.
What needs improvement?
We encountered an issue with Cosmos DB's recently introduced hierarchical partition feature. After enabling it, we discovered that the web-based Cosmos Explorer tool sometimes fails when hierarchical partitioning is disabled. Although it usually works, we occasionally encountered situations where we couldn't query and manually inspect data in the Cosmos Data Explorer within Azure. We believe this is a significant issue and anticipate a fix will be released soon, although it may already be resolved.
For how long have I used the solution?
I have been using Cosmos DB for ten years.
What do I think about the stability of the solution?
Cosmos DB has demonstrated excellent stability with no issues encountered.
What do I think about the scalability of the solution?
Cosmos DB is extremely easy to scale up, and changes usually take just a few seconds to a few minutes.
How are customer service and support?
The customer service was quick and to the point during our limited interaction. The correct information was conveyed without the typical pain associated with support systems, where someone with little product knowledge addresses issues.
How would you rate customer service and support?
Positive
How was the initial setup?
The deployment is straightforward and generally takes about fifteen minutes to complete. Initial database provisioning requires five to ten minutes, followed by a minute or two to create the necessary tables and containers.
What about the implementation team?
The deployment process is automated using ARM templates, allowing developers to initiate deployments by clicking buttons within the Azure DevOps tools.
What was our ROI?
Using partition-based scaling, we achieved about 40 percent savings in costs for Cosmos DB.
What's my experience with pricing, setup cost, and licensing?
The Cosmos DB pricing model, initially quite complicated, became clear after consulting with Azure Advisor, allowing us to proceed with confidence.
What other advice do I have?
I rate Cosmos DB ten out of ten.
While there is a learning curve when transitioning from traditional SQL databases to NoSQL databases, this is not specific to Cosmos DB. Regardless of the provider, understanding NoSQL requires a shift in approaching data storage and retrieval, particularly for those familiar with relational databases. This inherent learning curve stems from the fundamental differences between the two database types and necessitates learning new concepts and techniques for effectively working with NoSQL databases.
No maintenance is required.
For newcomers, it is crucial to understand that despite the SQL API, Cosmos DB is not a traditional SQL database. Many issues arise when trying to apply relational database principles. Understanding NoSQL databases' limitations and adapting to the mindset required is essential.
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.
Java Software Developer at a tech vendor with 10,001+ employees
Excellent availability, latency, and capability to handle large data insertions
Pros and Cons
- "The availability and latency of Azure Cosmos DB are excellent."
- "Azure Cosmos DB helped improve the quality of our search results."
- "The size of the continuation token in Azure Cosmos DB should be static rather than increasing with more data, as it can lead to application crashes. They should use a static key size."
- "The size of the continuation token in Azure Cosmos DB should be static rather than increasing with more data, as it can lead to application crashes."
What is our primary use case?
I develop applications. I developed an application where I had to search the Azure Cosmos DB database for values related to suspicious entities. It involved retrieving, sorting, and manually searching data through queries.
How has it helped my organization?
Azure Cosmos DB helped improve the quality of our search results. We could see its benefits immediately after the deployment.
What is most valuable?
The availability and latency of Azure Cosmos DB are excellent. It handles large data insertions efficiently without any problems related to scalability. It scales workloads very well.
What needs improvement?
The library of Azure Cosmos DB is like JPA, but it is not exactly JPA. We could not integrate that.
The size of the continuation token in Azure Cosmos DB should be static rather than increasing with more data, as it can lead to application crashes. They should use a static key size.
If we want to update some data, we cannot use the SQL command line. It is not like SQL Server or any other relational database. We have to send the JSON file or send the text to the Azure portal. These are the only two options. We cannot use the normal SQL statement.
For how long have I used the solution?
I have been using it since December 2021.
What do I think about the scalability of the solution?
The scalability is very good. We performed performance tests, inserting objects with more than 10,000 records without any issues, although, on the application side, we started to see high memory consumption. That is because, with larger JSON files, you will have more objects in the Java application. These things consume memory, but there are no issues regarding scalability.
How are customer service and support?
I have not contacted their support.
How would you rate customer service and support?
Neutral
Which solution did I use previously and why did I switch?
I have experience with MongoDB but only for personal studies. I only learned the basic things.
How was the initial setup?
It was easy because we have Terraform embedded in the Jenkins pipeline. Once I deploy the application, it connects with Azure Cosmos DB. It is already configured, so I do not have to worry about this part.
It took us about one month to get onboarded and understand the basic functionalities.
It does not require any maintenance at our end.
What about the implementation team?
We usually have a team of three to four people.
What's my experience with pricing, setup cost, and licensing?
I am not aware of the price, but a challenge that I have faced occasionally is that running longer queries requires more RUs, so I have to ask someone with permissions to execute the queries.
What other advice do I have?
I would advise learning more about queries and select statements. You can use that on the Java side and Cosmos SDK.
It is easier to learn if you already know relational databases. You can use some of that knowledge to work with Azure Cosmos DB. Also, if you know JPA, it would not be so difficult to work with the Cosmos SDK for Java application development. Inserting data is also simple.
It is at a medium level in terms of ease of use. There is documentation for gathering the information. Azure Cosmos DB does not have any constraints for the column names. If you want to create a specific query, you can find information related to that in Microsoft documentation. You can find queries to solve specific problems.
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: My company does not have a business relationship with this vendor other than being a customer.
Last updated: Nov 24, 2024
Flag as inappropriateFounder and CEO at Amped Data Solutions
Its ability to search through large amounts of data is excellent
Pros and Cons
- "Specifically, we are using the MongoDB API, so we leverage it in that way. I like the flexibility that it offers. My team does not have to spend time building out database tables. We can get going fairly quickly with being able to read and write data into a MongoDB collection that is hosted inside Azure Cosmos DB."
- "It is easy to use, but optimization has been a mixed experience. It has been more of trying to figure out how to do so. We have not found much support there, so we have to come up with our own way of optimizing it in different ways. That is one area of improvement."
What is our primary use case?
We use it as a data storage platform for several proprietary applications that we have designed and built and now support. We generally use it to be able to scale so that our customers can search a sizable amount of data. We have millions of records that include an extensive amount of text.
How has it helped my organization?
We implemented Azure Cosmos DB for our tokenization process. We had originally built a data dictionary to be able to tokenize different words within our MongoDB collection, but over a period of three years or so, we found that there were some limitations to doing that. The data dictionary needed to be updated, so we turned to the vector search feature because it essentially allows us to measure the similarity between words. Those sorts of comparisons could be done very easily. There is the ability to tokenize words, which we then use in the search functionality provided for the users of our applications. It has helped us improve the search functionality of our applications.
I landed on it as an architectural component of one of our first solutions. I went in expecting its benefits. It delivered the benefits of being able to quickly scale and being able to support semi-structured, unstructured, and structured data sets or data properties. All of these aspects are supported. We were able to realize its benefits early on.
We have used the vector database with Azure AI services. It works fine. They are embedded vectors. We are running some text through Azure AI. It then returns these embedded vectors, and we store those. We are able to use those vector values or vectors to determine the similarity between various words that are being searched in our applications.
The Azure Cosmos DB's ability to search through large amounts of data is excellent. It is fantastic. We have benefited from it. It is great.
What is most valuable?
There are a number of different APIs or data storage supported in Azure Cosmos DB. Specifically, we are using the MongoDB API, so we leverage it in that way. I like the flexibility that it offers. My team does not have to spend time building out database tables. We can get going fairly quickly with being able to read and write data into a MongoDB collection that is hosted inside Azure Cosmos DB.
I found it very easy to use. We have been using it for five years, so it is quite flexible for us. The ease of use is quite high for us.
What needs improvement?
It is easy to use, but optimization has been a mixed experience. It has been more of trying to figure out how to do so. We have not found much support there, so we have to come up with our own way of optimizing it in different ways. That is one area of improvement. We would like to have more tools that support the optimization of Azure Cosmos DB. There are not many tools out there. We have had to develop our own tools internally, such as a clean plan or query plan, and look at the index usage, throughput, and those sorts of things. The portal experience for optimizing and monitoring the service needs a few enhancements.
I am looking at it through the lens of MongoDB API. There are four or five other APIs that are supported in Azure Cosmos DB. The MongoDB API experience could be improved substantially by having a more user-friendly set of administrative tools so that I can go out there and query the documents that are part of the collection. Currently, I am working around that by using third-party tools like 3T. I also use MongoDB's Compass client tool. They can make this part of managing the database or the collection a lot easier by providing some built-in toolsets, similar to what is offered by Azure with Azure Data Studio. That is a big area for improvement.
We should also be able to better manage the cost. There have been some improvements there, but there is still room for improvement in terms of how costs are managed through the Azure portal relative to Azure Cosmos DB. To me, it is one of the more expensive services out there depending on how it is being leveraged.
One of the key limitations is that only so many vectors can be supported. It does not work very well with the large amount of text that has to be embedded in the vectors. That is one limitation we have run into with the feature set.
For how long have I used the solution?
It has been five years.
What do I think about the stability of the solution?
The SLA is pretty good. We have been able to at least get past 99.9%. We are probably closer to 99.99%. So, overall, it has done well over the five years. Just like with most things, there were a few instances where it crashed or was not available. Those instances are memorable, but they are few and very far apart.
Its latency is good. The availability is also good.
What do I think about the scalability of the solution?
Its scalability is good. However, redundancy does not work very well. Redundancy is having a set of backups. It is also a part of high availability. We have used some of the redundancy features in Azure Cosmos DB, and it created problems for us consistently. We recently had to move away from having a redundant copy of the data and just having a single copy. Of course, we have adequate backups.
Through the lens of MongoDB API, the scalability can be better. However, the limitations are core to the actual platform. MongoDB is not designed to scale horizontally, so that is how Azure offers it. It scales vertically which means that I can go and request more compute and more memory RUs for the instance that I am using. If I was supporting multiple workloads that had different read/ write patterns, it would work, but it is not designed to do that well at its core, as I understand it. It is less of a function of Azure Cosmos DB and more of a function of MongoDB itself.
The dynamic scaling has helped decrease our organization’s overhead costs. We are able to scale up during business hours, or when there is demand, we scale automatically. There are some tools that we have built and some processes that do that. We can also scale down during non-business hours or when the demand drops for the database or the data store. It has helped to manage scaling costs.
How are customer service and support?
I contacted their support this year when we had some issues. When it comes to customer service, it always comes down to the person you get on the phone or who picks up your ticket.
Regarding Azure Cosmos DB, we felt frustrated when we needed that support from Microsoft. It has not been there because the things that we are dealing with are generally more complex than most customers would have to deal with. At times, the representatives or engineers we got or who picked up the tickets we submitted did not have the breadth of experience needed to support us or resolve the issues. So, we resolve the issues ourselves the best we can.
How would you rate customer service and support?
Negative
Which solution did I use previously and why did I switch?
We use some of the alternatives because it does not solve everything. There is no such thing as one perfect data store. We use Azure SQL instances. We use SQL and VM in Azure. We have started doing a lot more Postgres, which is the flavor of the time. Everybody seems to be moving to Postgres all of a sudden.
Synapse is another tool. It is another Azure service that we use. It just depends on what type of data we are using and what makes sense in terms of the implementation of the application. Those are some of the alternatives that we have used.
How was the initial setup?
Its deployment is easy. Setting up the service is easy. You make a decision around where you want to deploy and those sorts of things. There is a lot of pointing and clicking. That was very easy.
Taking it to production was a lot harder. It was a lift to get the data loaded into Azure Cosmos DB. At the time, there were about 750,000 resumes that we uploaded for a customer, so it took a lot of time. We had to build a custom app to load those documents on data records into Azure Cosmos DB. We had two people working on it for two weeks. We probably spent somewhere around 60 hours around the lift to get that all loaded up and going in Azure Cosmos DB.
It took us about 18 months to feel fully confident in working with this and reach a level where we can go and teach others. We feel that we have got a firm grasp of the service after about 18 months of production support.
Its maintenance has been taken care of by Microsoft. However, at the end of last year going into this year, there were a few disruptions with the service that hampered our customers or users. There have been times when the service went down, or the service was upgraded but the SDK or NuGet packages used to support or connect to Azure Cosmos DB were not in sync. Overall, Microsoft takes care of the maintenance.
What about the implementation team?
It was all done in-house. We had two people involved in it, myself and my lead developer. It was mainly about loading data into Azure Cosmos DB. That was a big lift.
What was our ROI?
Azure Cosmos DB helped decrease our organization’s total cost of ownership. It is hard to provide the numbers, but managing the data store is easier for us with Azure Cosmos DB with the MongoDB API because there is no need for a DBA. We do not have a DBA on the team who is just taking care of the indexes and making sure that the database is healthy. It pretty much just runs. If we had a DBA in the team specifically for MongoDB, we would be paying about 150,000 dollars a year. We have to somewhere in the neighborhood of 50,000 dollars for the service in Azure. In terms of the total cost of ownership, it saves us about 100,000 dollars.
What's my experience with pricing, setup cost, and licensing?
Pricing, at times, is not super clear because they use the request unit (RU) model. To manage not just Azure Cosmos DB but what you are receiving for the dollars paid is not easy. It is very abstract. They could do a better job of connecting Azure Cosmos DB with the value or some variation of that.
What other advice do I have?
Overall, I would rate Azure Cosmos DB an eight out of ten.
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
Software Applications Development Engineer at a tech vendor with 501-1,000 employees
Offers good scalability and support for cross-platform connections
What is our primary use case?
It has not been a direct approach for me because all of my enterprise-level applications are deployed in MongoDB. At some point, we usually face issues where we need multi-directional and different contexts to connect with the database. Sometimes we use SQL and need to retrieve data from the database. If using a typical MongoDB, this is not possible. Microsoft Azure Cosmos DB has bidirectional support for cross-platform connections, so we don't need to recreate our entire database structure in our application. We can work with the MongoDB driver and interact with Microsoft Azure Cosmos DB. The applications under my portfolio currently rely on that, mostly indirectly. We created the models, deployed our data, migrated it, and are using it heavily in Microsoft Azure Cosmos DB.
Recently, we are building an AI-powered application where we heavily rely on Microsoft Azure Cosmos DB to bring data from ServiceNow, SAP, Salesforce, Cisco, and other customers we have at our organization. Reading and inserting data into Microsoft Azure Cosmos DB is a very smooth process.
What is most valuable?
Its scalability is great. Microsoft Azure Cosmos DB offers auto-scaling both horizontally and vertically. We haven't faced any issues.
What needs improvement?
For the third-party driver support they are currently providing, they need to ensure it stays up to date with the market throughout development. If MongoDB updates a particular feature in their drivers, we as developers expect that service and support to be available in Microsoft Azure Cosmos DB as quickly as possible in production.
What do I think about the scalability of the solution?
Its scalability is good and depends on the traffic, with auto-scaling functionality ensuring we don't need to worry about database crashes or data loss during insertion. These problems were common when deploying our data on-premises. With Microsoft Azure Cosmos DB, we have overcome those struggles and are now operating smoothly.
Which solution did I use previously and why did I switch?
It depends on the application. In some cases, we use Microsoft Azure Cosmos DB directly with Azure Functions to store customer details and manage the customer onboarding process through our enterprise applications. In several instances, operations happen directly with Microsoft Azure Cosmos DB.
For legacy applications built on MongoDB that need to transition to Microsoft Azure Cosmos DB, we take a different approach. If a company is migrating from on-premises systems to the cloud—whether it’s Microsoft Azure or AWS—sometimes it’s necessary to adopt different tools for the billing process and other infrastructural needs. In such cases, we may choose to use Microsoft Azure Cosmos DB to avoid having to restructure our entire legacy application. In these situations, we utilize MongoDB and its drivers as a mediator. These drivers interact with Microsoft Azure Cosmos DB to perform the necessary operations within the application.
On another note, when using Azure Functions, we typically handle cases such as creating, updating, or retrieving customer details. This process directly connects Azure Functions to Microsoft Azure Cosmos DB. Currently, we are managing these two different patterns effectively.
How was the initial setup?
If you are an engineer with good experience in microservices and the Azure platform services, it's a one-day setup process, based on requirements. If you are new to the entire Azure platform and services, it can be a bottleneck. It takes time to understand the configurations and related aspects. If you're new, there is a learning curve. You need to understand which version you're using, what features are supported fully or partially, and which features are not supported. For example, when using MongoDB drivers to interact with Microsoft Azure Cosmos DB, understanding which version (4.1, 4.2, or 4.3) you're using and what features are supported by Microsoft Azure Cosmos DB for that particular version is important. Understanding query performance improvements based on supported features is crucial. For newcomers, it might take several days to understand and review documentation. For mid-level engineers with two or three years of experience, it's a straightforward, one-day process.
What's my experience with pricing, setup cost, and licensing?
Pricing is a complex process at the enterprise level. While I'm not handling the pricing directly, through stakeholder meetings and conversations, we understood that having everything in a single platform with billing up and running for all required application services is beneficial. Microsoft Azure Cosmos DB comes into a single billing system for gold or silver partners, though I'm not familiar with specific company policies and terms and conditions as I'm not an infrastructure specialist.
What other advice do I have?
I would rate Microsoft 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: My company does not have a business relationship with this vendor other than being a customer.
Last updated: Jun 30, 2025
Flag as inappropriate
Buyer's Guide
Download our free Microsoft Azure Cosmos DB Report and get advice and tips from experienced pros
sharing their opinions.
Updated: August 2025
Product Categories
Managed NoSQL Databases Database as a Service (DBaaS) NoSQL Databases Vector DatabasesPopular Comparisons
PostgreSQL
Elastic Search
MongoDB Enterprise Advanced
MongoDB Atlas
OpenSearch
Microsoft Azure SQL Database
SingleStore
Buyer's Guide
Download our free Microsoft Azure Cosmos DB Report and get advice and tips from experienced pros
sharing their opinions.