Try our new research platform with insights from 80,000+ expert users
Lead Software Architect at CPower
Real User
Top 20
The ability to scale efficiently improves our performance and scalability
Pros and Cons
  • "Change notification works well, and the ability to process documents in a scalable way is important. This means we can efficiently thread out different operations and meet our organizational performance and scalability needs."
  • "Scaling the workloads is one of the key advantages of Cosmos, preventing the database from becoming a performance bottleneck."
  • "One area that could be improved is indexing. Some of the developers struggle with the way the indexing works. We are exploring vector indexing, which we haven't examined fully yet. Indexing is an aspect we're looking to improve upon potentially."

What is our primary use case?

We are using Cosmos DB in several different ways. We receive unstructured and semi-structured documents from partners, and we use Cosmos DB to push the data in and scale it to kick off internal processes. 

We receive notifications from our customers to take action quickly regarding the energy grid. Cosmos DB is also used in a different project for our settlement system, where it is used as a queuing engine for the change notification portion.

How has it helped my organization?

The ability to scale efficiently improves our performance and scalability. Although we haven't yet used Cosmos to improve search result quality, we believe it can be useful with vector search and data architecture improvements. We are exploring AI, but I don't think our focus will be generative. We do a lot of ML models, and we plan to restructure our data to use the data lake or leverage the efficiency of already created models to reduce our resource costs and improve efficiency. 

What is most valuable?

Change notification works well, and the ability to process documents in a scalable way is important. This means we can efficiently thread out different operations and meet our organizational performance and scalability needs. 

Cosmos DB is pretty straightforward. I'm not 100 percent an expert. I have three or four different developers up to speed on it and working on it. They do most of the daily operations, while I do a lot of the prototyping and conceptual aspects.

While we don't use the vector database system, some interesting features might benefit our future data architecture. In one of the workshops, we learned about its capabilities and how it's used as part of Copilot and the backend database. I'm thinking about AI, our data, and some performance benefits.

What needs improvement?

One area that could be improved is indexing. Some of the developers struggle with the way the indexing works. We are exploring vector indexing, which we haven't examined fully yet. Indexing is an aspect we're looking to improve upon potentially.

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

For how long have I used the solution?

I started dabbling in Cosmos before COVID approximately four or five years ago. Initially, I just wanted to test some concepts and figure out its benefits, using the Cosmos local engine to better understand its functionality.

What do I think about the stability of the solution?

We have not encountered any issues with latency or availability. As we continue to grow and scale, we will keep assessing to ensure our expectations are met.

What do I think about the scalability of the solution?

Scaling the workloads is one of the key advantages of Cosmos, preventing the database from becoming a performance bottleneck.

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

We assessed other databases like MongoDB but chose Cosmos for its object-style database capabilities, user-friendliness, and ease of access. It aligned well with our needs, and a Microsoft conference initially piqued our interest.

How was the initial setup?

Onboarding to proficiency took a couple of months. The transition from a traditional relational database programmer to an object database was straightforward. The learning curve was manageable and engaging.

What was our ROI?

I don't know how much money Cosmos DB has saved us. We're still using some of the old databases, but when phase them out, we'll see a significant cost reduction.

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

The pricing model aligns with our budget. It's expected to lower overhead costs, especially as we phase out older databases. Cosmos DB is great compared to other databases because we can reduce the cost while doing the same things.

Which other solutions did I evaluate?

We considered Mongo DB among other databases, but Cosmos had the desirable capabilities we were seeking.

What other advice do I have?

I rate Cosmos DB eight out of 10.

Disclosure: My company does not have a business relationship with this vendor other than being a customer.
Flag as inappropriate
PeerSpot user
reviewer2227599 - PeerSpot reviewer
Vice President, Machine Learning at a healthcare company with 10,001+ employees
Real User
Top 20
The real-time analytics capabilities allow for turnaround times in milliseconds
Pros and Cons
  • "The most valuable feature of Microsoft Azure Cosmos DB is its real-time analytics capabilities, which allow for turnaround times in milliseconds. This is crucial for applications like fraud detection."
  • "The most valuable feature of Microsoft Azure Cosmos DB is its real-time analytics capabilities, which allow for turnaround times in milliseconds."
  • "It would be beneficial if Cosmos supported batch and real-time use cases to make the system more seamless."
  • "If you want to bring the data from AWS, you must pay data egress costs. That's a pain point."

What is our primary use case?

We have numerous healthcare AI use cases, including utilization management, documentation, letter generation, and voice call creation. These are both real-time and non-real-time use cases. My team is the platform team that enables the services. The ML teams are the practitioners who work on these products. 

How has it helped my organization?

The vector database has had a significant impact by making everything searchable, and the number of potential use cases exploded when GenAI was added. We've transformed many tasks into AI machine-learning problems. We have a ton of institutional expertise across the enterprise. It's crucial to be able to bring all of that into one place, ask questions, and get answers.

What is most valuable?

The most valuable feature of Microsoft Azure Cosmos DB is its real-time analytics capabilities, which allow for turnaround times in milliseconds. This is crucial for applications like fraud detection. 

Using and optimizing Cosmos DB is relatively straightforward. We talk regularly with the Microsoft team, and hands-on help is available when needed, so the experience was seamless. 

We have migrated to Cosmos' vector database search from Azure AI Search.  We don't face too many challenges with interoperability because everything is built on Azure, and we don't have any multi-cloud applications.

Azure AI services integrate and perform well with the vector database. Sometimes, we struggle to customize the RAG pipeline instead of using the embedded settings. Those are rare use cases, but they are useful for most use cases. 

The search capabilities work well once you have your data set up. It's more of a challenge in the knowledge-based integration than the modeling side. Our data is scattered. SharePoint, Confluence, and meeting minutes data are separate. We are working actively to make all the data flow. 

What needs improvement?

It would be beneficial if Cosmos supported batch and real-time use cases to make the system more seamless. Our biggest challenge migrating data is the fact that we're a multi-cloud organization with data stored in multiple platforms like AWS and Snowflake. It's all over the place, so we are using solutions like Fabric to migrate the data. If you want to bring the data from AWS, you must pay data egress costs. That's a pain point.

For how long have I used the solution?

I have been using Microsoft Azure Cosmos DB for about two and a half years.

What do I think about the stability of the solution?

The latency numbers of Cosmos DB are satisfactory and align with expectations for clinical decision support engines.

What do I think about the scalability of the solution?

While I have not personally tested it, the information I have suggests that Cosmos DB has robust scalability capabilities.

How are customer service and support?

We have regular connections with the Microsoft team, which provides hands-on support and makes the use of Cosmos DB straightforward.

How would you rate customer service and support?

Positive

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

We previously used Azure AI Search, but we are transitioning to utilize built-in capabilities in Cosmos DB.

What about the implementation team?

The platform team is responsible for enabling the services, while the ML teams use these products.

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

The pricing model aligns with our budget expectations, and we get a significant corporate discount from Microsoft because we're a partner.

What other advice do I have?

I would rate Microsoft Azure Cosmos DB eight out of 10.

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 has a business relationship with this vendor other than being a customer.
Flag as inappropriate
PeerSpot user
Buyer's Guide
Microsoft Azure Cosmos DB
June 2025
Learn what your peers think about Microsoft Azure Cosmos DB. Get advice and tips from experienced pros sharing their opinions. Updated: June 2025.
860,592 professionals have used our research since 2012.
Mohd Tanveer - PeerSpot reviewer
Project Associate at a consultancy with 10,001+ employees
Real User
Top 10
The high speed compared to other competitors is remarkable
Pros and Cons
  • "The high speed of Azure Cosmos DB compared to other competitors is remarkable."
  • "The high speed of Azure Cosmos DB compared to other competitors is remarkable."
  • "Overall, it is a good resource. I am not aware of the background, but it seems to currently support only JSON documents."
  • "Azure Cosmos DB is generally a costly resource compared to other Azure resources. It comes with a high cost."

What is our primary use case?

I am using it to store our data. We are using Azure Cosmos DB to store our JSON-based documents.

What is most valuable?

The high speed of Azure Cosmos DB compared to other competitors is remarkable. It is one of the most powerful features, offering high availability and high speed. Its benefits can be seen immediately after the deployment.

What needs improvement?

Overall, it is a good resource. I am not aware of the background, but it seems to currently support only JSON documents. They could expand their scope to support other types of data, such as XML or EDI formats. EDI is an old technology, but it is still in high use in supply chain and retail industries.

For how long have I used the solution?

I have more than two years of experience with Azure Cosmos DB, whereas with Azure, it has been more than four years.

What do I think about the stability of the solution?

Choosing the correct partition key is crucial, as it affects our database speed and related operations.

Latency and availability depend on the consistency level.

What do I think about the scalability of the solution?

It is a Platform as a Service, so we are concerned about the underlying interface. We can move to a higher tier as all Azure cloud resources are open to easy scaling.

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

It offers an option alongside the Azure SQL database. Azure SQL database has its own capabilities, whereas Azure Cosmos DB supports all major big data requirements like Cassandra and Gremlin. Azure SQL database is more focused on transactional data instead of analytic data. Azure Cosmos DB covers a wider area.

How was the initial setup?

I have not personally deployed Azure Cosmos DB, but DevOps pipelines provide options for this. It should be easily deployable with the help of Microsoft's documentation.

It takes a couple of minutes to be up and running. It also depends on how we are deploying, whether it is via an ARM template, Azure pipeline, or directly via Azure release.

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

Azure Cosmos DB is generally a costly resource compared to other Azure resources. It comes with a high cost. We have reserved one thousand RUs. Free usage is also limited.

What other advice do I have?

It is not like a traditional database. Choosing the partition key needs an understanding because it will affect the database speed. By making your partitions in a logical and efficient way, you can improve the speed of search analysis.

I would rate Azure Cosmos DB an eight out of ten.

Disclosure: My company has a business relationship with this vendor other than being a customer. Partner
Flag as inappropriate
PeerSpot user
reviewer2542083 - PeerSpot reviewer
CEO at a tech vendor with 201-500 employees
Real User
Amazing cost reduction and the best in terms of performance and scale
Pros and Cons
  • "Change feed is a pretty amazing feature. Once you make the changes, they are quickly read for you, and then you also have geo-replication. You can do a lot of things in your region, and the same regions can be replicated all over the world."
  • "In the long run, there should be an addition of more features, especially because this space is evolving quickly. It all boils down to how many more features you are adding, how many integrations you are supporting, and how many more APIs you have that are standard APIs."

What is our primary use case?

We use it for different companies and different clients. We have Fortune 500, startups, and mid-sized companies as our clients. They are in healthcare, finance, fintech, tech, manufacturing, construction, real estate, telecom, and a lot of other industries. They all love it.

How has it helped my organization?

It is the best in terms of performance and scale, and it can do both SQL and NoSQL workloads, so it is pretty impressive. One of the least understood use cases happens to be cost and caching. It has a pretty amazing caching engine, and its cost is amazingly low. Especially with the strategies we have designed, we can show a cost reduction of 99% in certain cases. The request charge reduction is anywhere between 75% to 99%. It has been pretty amazing to get cost, quality, and time. We can get all three with it. It is one of the very few databases that can even get there.

We use the built-in vector database capability. It is pretty fascinating. You get recalls that are pretty high. In the competitive landscape of databases, it is surprisingly better in terms of p95 latency and also requests per second, which is something that every customer wants but does not easily get by default. You can also use HNSW, for example, a lot cheaper than you would otherwise because of the DiskANN technology. It is similar to HNSW, but it is on the disk, so it is cheaper. You are not going to the memory. That saves you a lot of money, which is important because when you are running workloads that are getting to terabytes and terabytes, the cost is a huge concern, especially to support the underlying business. That is pretty amazing in terms of DiskANN, which is a Microsoft technology that is very well implemented in Azure Cosmos DB.

Usually, the vector database is integrated with a bunch of other applications. It could be a CRM system behind the scenes, or it could be any LLM-based application. The interoperability with other solutions is fairly simple because, at the end of the day, it is just an API. You can make it work with anything.

We use a lot of different models including Azure OpenAI and some open-source ones through Azure AI Studio. They are very easy to use with it because it is just an API.

It is as fast as what you would find elsewhere. It scales, and they do that part for you. Performance and scale are the things that Azure Cosmos DB got right. That is definitely a positive. If you do not use the vector database, you may get into hallucination issues. Things might slow down. Such issues do not happen if you are using the vector database correctly. Your LLM is now supported with the rack pattern, which is done very well by DiskANN and Azure Cosmos DB.

DiskANN does a great job with recalls. We can decide how high we want them to be. That is the best it gets. If you are using vector searches, it does a great job. I do not usually use Azure Cosmos to compete with a regular or classic search engine.

In terms of Azure Cosmos DB’s ability to search through large amounts of data, currently, the maximum we have on it is in terabytes, but a lot of that depends on how you do a lot of things. That includes data modeling and partitioning, and then your entire vector strategy, which is what we specialize in. We have seen great results. You get the best of all worlds. For example, there is a higher recall at pretty amazing requests per second, which in some cases is 10x to 15x of what you would get for the same recall with another engine. Your latency is also a lot lower. In some cases, it is incredibly low. For example, it is 10x to 15x lower than others. This combination is very hard to get with other databases that we have tried, so from that angle, Azure Cosmos DB has done a terrific job.

A few years ago, we put out a report that took Azure Cosmos DB as it is and compared it with other databases out there, and it was 92% cheaper on reads and 20% cheaper on writes. After that, we used our optimization, and we were able to further reduce that by another 75% to 99% in different cases. We have an online talk about it where we partially show how to get there. Those are not full solutions. It was a conference where I had 15 minutes, and I ended up doing a demo. 

It is pretty fascinating because it is very hard for other databases to come anything close to it in terms of the cost given the fact that you have pretty amazing performance and scale. A lot of people can beat you on Azure Cosmos DB, but they do not give you the right performance and scale you need for business, so those cost savings are meaningless. For our customers, it has got to be the best of all worlds, and fortunately, Azure Cosmos DB has that.

What is most valuable?

Pretty much all of the features are valuable. Change feed is a pretty amazing feature. Once you make the changes, they are quickly read for you, and then you also have geo-replication. You can do a lot of things in your region, and the same regions can be replicated all over the world. There are different geographies. I can have my servers pretty much anywhere in the world. The data could be within the country or continent when there is a data restriction policy and things like that. Security is big. There are a lot of very good features.

It is very easy and very simple now given all the improvements, but it is also designed very well. Especially because we specialize in it, it is the easiest thing on our side. Data modeling happens to be a lot easier than SQL and others. The learning curve is a lot smaller than a typical RDBMS. It is very like code, and that is another benefit. Developers love it because you do not have to learn something new. You can use the same object that you are using in your code, and you can write stored procedures in JavaScript if you want to. If you want to do anything else, you could use the SQL API or NoSQL API, or you could use MongoDB API. It supports a lot of different APIs. You do not have to learn anything new, so the learning curve is way smaller than pretty much anything out there.

The best part of Azure Cosmos DB is that you barely have any maintenance. This is what I liked about it in the first place. 

What needs improvement?

In the long run, there should be an addition of more features, especially because this space is evolving quickly. It all boils down to how many more features you are adding, how many integrations you are supporting, and how many more APIs you have that are standard APIs. The team is already doing a great job. They are already doing all that is needed, but the more features we have, the easier it is for us and our clients.

For example, when you have these vectors, it requires us to know a little bit about the configuration behind things such as HNSW. When it comes to the MongoDB vCore piece of Azure Cosmos DB, people like us know how to get to higher recalls easily but a regular user may not. If they have a feature that provides an easy way to get to a certain recall you need, and that is a configuration by default, that would be great. Currently, the flexibility is amazing, and we love that. The competition is usually not providing that. The competition sometimes gives you a recall of 80%, but they are taking away the latency and requests per second. Azure Cosmos DB does not do that. It is a better solution. If Azure Cosmos DB has configurations and a feature allowing us to pick any of the use cases we want, it would be great. For example, if I have an application that I am okay with, and my application does not require a huge recall that is 80% but needs one that is 60%, for us, it is very easy to take HNSW and do it that way and reduce the requests per second because that might not be a concern. If there is a feature that allows people to pick out of five different permutations and combinations, it would be very easy for anyone else to do it. However, keep in mind that competition does not even have that flexibility, so competition is lagging behind on that, at least in the case of the ones we have tried. If Azure Cosmos DB has such a feature, it will be easy for more people to take advantage of the things we are taking advantage of.

For how long have I used the solution?

I started using it when the first version of DocumentDB came out, and then a couple of years later, it was renamed to Azure Cosmos DB. I have been working with it even before it was called Azure Cosmos DB. I am still using it, and it is my favorite database.

What do I think about the stability of the solution?

In 2020, we put out a report. It is on our website. This was the only one out of all the major databases out there that had a linear throughput increase for hundreds of servers. What is crazy is that everyone else said that they do it, but you could literally see that after a certain number, they would slow down. One of them was a pretty majorly known, multibillion-dollar NoSQL database, but after 50 servers, it would just slow down completely. You could literally say, "Wow, it is taking time to go to the next level." Azure Cosmos DB was the only one that had linear throughput. Our team thinks that the underlying infrastructure of Azure Cosmos DB is procured in advance, and that is why they can have a linear scale for as much as you want to go. It totally depends on how big, literally, Azure is. The competition is running on someone else's cloud mostly. They probably procure machines as they go, and maybe that is why they are slow. This is an interesting thing that made us love Azure Cosmos DB.

Latency is pretty straightforward. They guarantee 10 milliseconds read and write times now, which used to be 10 and 15 earlier. That is one thing that is pretty incredible. A few things that we have shared with customers is that there is always a wrong way of doing things. You may know the right thing, and it is easy for you to get the latencies, but you may completely mess up the data modeling as well as your code and hundreds of different things. You may be making five calls when you need to make one. You may be doing a lot of other things that are not necessarily best practices. In some cases, we have seen people having a latency of more than 200 milliseconds, which we brought down to 10 milliseconds.

What do I think about the scalability of the solution?

Azure Cosmos DB’s dynamic scaling decreases an organization’s overhead costs big time. This is where it stands out. A lot of our clients who were previously using RDBMS kind of solutions found them to be slow. It would take forever. They would not scale beyond a certain point, and they would get extremely costly after some time because you have huge machines. Some of them were paying millions of dollars for one machine, whereas now, they just pay and go and they can scale. They can go all the way up, and if they want to go down, they go down. For example, on Thanksgiving, they may be scaling to hundreds of nodes behind the scenes, and the next day, they could be scaling back to three nodes. Imagine the cost savings when you never had to procure those servers or anything else. This is the genius of this whole thing. They are being able to take advantage of a scale that they could have never had as an organization. This is not just for startups. Even big corporations can take advantage of the same exact thing. It works for every single one out there.

How are customer service and support?

I never had to contact support. If you know what you are doing, then it is really good. I do not even know of anyone calling Azure Cosmos DB support for anything.

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

I have worked with almost all of the competitor solutions. I cannot think of any disadvantages of Azure Cosmos DB unless the competition is for a specific use case. For example, in the beginning, Redis was great for caching. It had a great Pub/Sub Over a period of time, Cosmos DB got there, but Azure Cosmos DB is a lot more than just that use case. Today, it is easy for me to pick Azure Cosmos DB as a caching engine. I would not have done that five or six years ago.

How was the initial setup?

We do not do much with the on-premises version. We only work with the cloud version.

Its deployment is pretty easy. I have been doing it for a long while, so it is easy for us and our clients. I do not know about others.

Our implementation strategy depends on what kind of project it is. We do greenfield, brownfield, and all of the projects. We do integration projects. We also do projects where they are only doing an addition of LLM. We start with understanding the client's needs and then figuring out what is currently there. If there is nothing, we data model the whole thing from scratch and go with the best practices. A lot of times, if it is brownfield, a bunch of work is already done, so we are not going and figuring out what is the most optimum way to do it within client constraints. We create a strategy based on that and implement it based on their tech stack because everyone has a different one. Once we get the approval on that, we move forward with the implementation.

The number of people required and the time required depend on the client and their workload. If you have a small app, you could be onboarded on day one. If you have a big app with petabytes of data, it is usually a month of work. It totally depends on what we are looking at or the use case.

In terms of the learning curve, Azure Cosmos DB is one of the simplest ones out there. It is on the easier side. There are a couple of them that are pretty easy. 

What other advice do I have?

To new users, I would advise understanding different propositions. Start with understanding what kind of data set you have and every single thing. Also, know the tech stack you have and pick your strategy accordingly. What you do not want to do is go with the flow without understanding what a NoSQL database is supposed to be like and make changes down the line.

A lot of people with an SQL background, unfortunately, start using any NoSQL databases, not just Azure Cosmos DB, in a way that is not very good for them because the patterns that usually are the best patterns for SQL may not be the best patterns for NoSQL. For example, there is a reason we do normalization in SQL. That takes away duplicate data, which is perfectly okay, but in the case of NoSQL or Azure Cosmos DB, we can scale and have duplicate data in places if we have a different kind of use case. If I want to make different kinds of searches available, I can have three different kinds of searches available for similar kinds of parameters. I will not be worried about doing that in a NoSQL environment because I can scale out pretty easily, so data does not hold me back. In an RDBMS environment, I might be doing two or three joins to make sure that I am making it fully normalized because if my data increases drastically, that will create a scale up situation. Scale-up is the only thing you can literally do with RDBMSs. Mostly, scale-out is not that easy unless you are on the cloud and you are using the scale of the cloud, and then you have performance issues. In those kinds of different scenarios, the DBAs or people with an RDBMS background need to come up with an open mind and understand what this is.

It is not that you have to learn a lot about Azure Cosmos DB. You will have to learn about this new paradigm. It is not very new. It has been going on for more than a decade. We have been doing it for more than a decade, but we see a lot of people coming from an RDBMS background and getting it wrong, and then you're paying people like us a lot more money to fix it. It is easier to work with someone like us in the beginning or do a little bit more due diligence and learn that paradigm before you get started. That will save you a lot of money and time, and hopefully, you will not need our services at that point of time. That is definitely my advice.

I would rate Azure Cosmos DB a ten out of ten at this time.

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: Implementer
PeerSpot user
Joel Nation - PeerSpot reviewer
CTO at Imminently
Real User
Top 20
Significantly reduced our total cost of ownership but the indexing capabilities have room for improvement
Pros and Cons
  • "Cosmos DB's greatest strengths are its easy setup and affordability, especially for those who understand its usage."
  • "The current data analytics of Cosmos DB is inefficient for large-scale queries due to its transactional design."

What is our primary use case?

We develop SaaS applications for our products and external clients, utilizing Cosmos DB as the data storage layer for all semi-structured data.

We chose Cosmos DB because it addressed our need to store and query data with varying structures. While object storage is cost-effective for large datasets, it lacks querying capabilities. Traditional relational databases like SQL Server or Oracle are expensive and inflexible, posing challenges for our dynamic data models and frequent changes. Cosmos DB provided a solution with its dynamic data model and efficient querying capabilities, allowing us to accommodate diverse customer needs and evolving data structures.

How has it helped my organization?

Our focus is primarily on data filtering and querying rather than extensive text-based searches. While we previously utilized alternative products, we now predominantly rely on Cosmos DB for these tasks due to its ease of use and management. This allows us to quickly onboard customers, especially startups and smaller businesses with evolving needs, as Cosmos DB's flexibility enables rapid data model modifications without significant data management concerns.

For basic queries, Cosmos DB is a very fast and efficient option.

The main benefit of Cosmos DB is its flexibility. It's easier for our developers to work with than previous solutions, and it's better for our customers because we can quickly change and optimize the data structure as needed, eliminating the need to explain limitations. We've also observed that Cosmos DB has improved over time.

Leveraging our prior experience with similar systems, we immediately recognized the advantages of Cosmos DB. Its quick setup streamlined our implementation process, and after addressing a few minor challenges, we could utilize it effectively and efficiently.

Cosmos DB has significantly reduced our total cost of ownership compared to the more expensive alternative we previously used. It's a much cheaper and more efficient solution for our use cases. However, as some of our customers grow, we need to be more strategic with our implementation, requiring additional engineering and planning to keep costs down. While Cosmos DB is initially inexpensive, managing costs at scale requires proactive measures.

Cosmos DB is easy to learn if you're familiar with NoSQL databases, as the concepts are essentially the same. You'll quickly grasp it if you understand NoSQL principles. However, if you're unfamiliar with NoSQL, it might take longer, as Cosmos DB differs from traditional databases. This learning curve applies to all NoSQL products, as understanding the fundamental differences between NoSQL and traditional databases is crucial.

What is most valuable?

Cosmos DB's greatest strengths are its easy setup and affordability, especially for those who understand its usage. Compared to products like Oracle's Autonomous JSON, Cosmos DB offers greater driver and code support, making it significantly easier to learn and use.

What needs improvement?

Cosmos DB is quick at searching through basic datasets, though its indexing capabilities may not be as robust as some competitive solutions. This can make it challenging to perform complex queries on large datasets.

The current data analytics of Cosmos DB is inefficient for large-scale queries due to its transactional design. While tools like Synapse can transfer data to an analytical store, there's no effective way to utilize that data. Cosmos, in particular, is not optimized for analytical queries, especially with large datasets, and lacks the cost-effectiveness of solutions like Oracle Autonomous JSON, which seamlessly integrates analytical capabilities. Although Microsoft offers various tools, a comprehensive solution for efficient analytical queries within this system remains elusive, short of implementing a full-blown SQL Server.

For how long have I used the solution?

I have been using Microsoft Azure Cosmos DB for two to three years.

What do I think about the stability of the solution?

The latency and availability of Cosmos DB have been excellent. I haven't had to worry about it; the latency has been consistently low, and I can't recall the last time we experienced an outage or performance issue.

Cosmos DB has only been down once the entire time we've used it, and the outage lasted only two hours.

I would rate the stability of Cosmos DB nine out of ten.

What do I think about the scalability of the solution?

Cosmos DB offers scalability when implemented correctly, often in conjunction with other tools to achieve specific scaling requirements.

Cosmos DB's scalability has reduced our overhead by allowing us to efficiently manage costs across different environments, from minimally used development settings to high-demand production environments. Its robust architecture supports diverse applications, including medical and government settings, with sensitive data, ensuring reliable performance and scalability. While proactively addressing potential scaling challenges, we maintain a strategic approach by selectively utilizing Cosmos DB for optimal data management.

How are customer service and support?

We have a good relationship with Microsoft engineers in our region, and some Cosmos leads in Australia. They have responded to any problems we have had with the system.

How would you rate customer service and support?

Positive

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

We previously used Oracle Autonomous JSON Database, a NoSQL version of Oracle database, and MySQLX, a variation of MySQL supporting unstructured data. Choosing between MySQLX and Cosmos DB is a tough decision. While MySQLX offers powerful SQL querying and analytics that Cosmos DB lacks, Cosmos's distributed nature eliminates concerns about backups and disaster recovery, unlike MySQLX.

How was the initial setup?

Deploying Cosmos DB was remarkably easy. It's the one Azure product I install without worries, as it consistently performs reliably.

What was our ROI?

Cosmos DB is a valuable resource for our customers because it eliminates the need to set up and manage complex database systems. Its ease of use and global distribution capabilities make it a cost-effective solution for our SaaS product. Unlike alternatives such as SQL Server, which require dedicated database administrators, Cosmos DB allows us to achieve the same results without extensive engineering resources.

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

Cosmos DB is cost-effective when starting but requires careful management. In my experience with customers, I emphasize that improper use can lead to significant expenses, while correct implementation ensures cost-effectiveness.

What other advice do I have?

I would rate Cosmos DB seven out of ten. If they can fix the analytics issues, Cosmos DB would be a great product.

Cosmos DB presents a trade-off: it's easy to start using and deploying systems, but optimization can be challenging and expensive without proper indexing and data modeling. Efficient querying, especially with large datasets, requires careful planning due to the platform's architecture.

Our organization has a few engineers who directly use Cosmos DB. We have a diverse client base, ranging from small to large enterprise organizations, who utilize our products built on various technologies, including Cosmos DB.

Our comprehensive suite of DevOps tools enables seamless transitions between databases as needed. This streamlined process allows most of our engineers to quickly onboard to Cosmos DB within a week.

If you're using Azure and need a simple, easy-to-start database, and NoSQL makes sense for your needs, Cosmos DB is a good choice. It's a solid product with excellent Microsoft SDKs and enterprise-focused support. While Mongo might offer more developer-focused features, Cosmos DB prioritizes security and scalability, making it easier for enterprises to get started quickly.

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.
Flag as inappropriate
PeerSpot user
reviewer2678751 - PeerSpot reviewer
Full Stack Software Developer at a tech vendor with 10,001+ employees
Real User
Top 20
Works efficiently and it's reliable and scalable
Pros and Cons
  • "It has been very efficient so far. The team has been using it for quite a while. I am new to the team, but they always talk about how efficient it is."
  • "I would rate it a ten out of ten for stability."
  • "I had a challenging experience implementing the emulator with a Mac. I had to install the emulator in a Docker container because it is not natively compatible. A significant amount of time was spent researching how to enable HTTPS communication when connecting the container and the emulator."
  • "I am disappointed with the lack of compatibility of the Microsoft Azure Cosmos DB emulator with Mac."

What is our primary use case?

We use Microsoft Azure Cosmos DB emulator to display database contents and occasionally perform manual data edits when necessary. We utilize it for general database emulation tasks.

What is most valuable?

It has been very efficient so far. The team has been using it for quite a while. I am new to the team, but they always talk about how efficient it is. We are using the NoSQL version. It is easy to use for development. It is reliable and quick. 

It has been pretty efficient when it comes to search. I have no complaints about that. It is easy to use and very compatible with Java.

What needs improvement?

I had a challenging experience implementing the emulator with a Mac. I had to install the emulator in a Docker container because it is not natively compatible. A significant amount of time was spent researching how to enable HTTPS communication when connecting the container and the emulator. I encountered TLS and SSL errors but resolved most of them by setting an environment variable in the container and using HTTPS protocol communication. I also had to use gateway mode with the Cosmos client in my Java app. I am disappointed with the lack of compatibility of the Microsoft Azure Cosmos DB emulator with Mac. I also found a scarcity of online resources regarding this issue.

It would be great to include compatibility with various databases like graph databases, adding to the existing NoSQL and MongoDB compatibility. I have used that for various projects on other platforms, and such additions would be beneficial.

For how long have I used the solution?

I have been using it for about a week now.

What do I think about the stability of the solution?

I do not see any stability issues. I would rate it a ten out of ten for stability.

What do I think about the scalability of the solution?

It is scalable. I would rate it a ten out of ten for scalability. We have had no issues with its ability to search through large amounts of data.

We have thousands of users. We are a big organization, and it is being used at various locations.

How are customer service and support?

I love the community forums. They provide a wealth of useful information, which gives me an advantage when it comes to support. The only disappointment was not being able to find any information about setting it up on a Mac.

How would you rate customer service and support?

Neutral

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

I have used the cloud-based Firestore database and MongoDB before. They largely perform similar tasks, and I have no problems using either one. They work and get the job done.

How was the initial setup?

For me, the setup was not complex because my team had everything ready.

I watched a couple of videos on YouTube. The onboarding was seamless, especially the database part. It took me no more than two days to learn the basics and necessary setup.

In terms of maintenance, it does not complain if you do not update it, but there are always updates that you can add. For example, for the emulator that I am using, there are a lot of versions I can install, but it works with most of them.

What other advice do I have?

I have no complaints. It does its job efficiently and is easy to set up. Our organization has been using it for quite some time. They must see a value in it. Otherwise, they would go for a better technology in terms of performance or pricing.

I would rate Microsoft Azure Cosmos DB a nine out of ten.

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.
Flag as inappropriate
PeerSpot user
Alexander Amante - PeerSpot reviewer
Chapter Lead - IoT Full Stack Development & DevOps at Spark New Zealand
Real User
Top 20
Has the standout ability to do data compression easily and scale horizontally
Pros and Cons
  • "The standout features are its ability to do data compression easily and the ability to scale horizontally."
  • "Azure Cosmos DB for NoSQL has a less developed interface and fewer SQL commands than MongoDB, and its community support is also smaller."

What is our primary use case?

We mainly use it as the database for our platform, which is an application that users use as an interface for their IoT products. I work in the IoT chapter, and we developed an application where customers can manage their IoT devices and have a holistic view of their deployment. All data is aggregated in our database, cleaned up with ETLs, and stored in Cosmos DB.

When dealing with IoT products, we encounter massive amounts of data, unlike in commerce, where traffic and data fluctuate. IoT devices, especially ours, generate constant data streams every five minutes, necessitating robust handling. We chose Azure Cosmos DB, specifically the PostgreSQL version, for its ability to store massive amounts of data without performance degradation, thanks to its columnar storage feature. This allows us to compress older data, such as telemetry data older than two years, which is crucial for managing the ever-growing volume of information. Even with compression, we maintain fast access to the data, ensuring optimal application performance.

How has it helped my organization?

I had prior experience with MongoDB on Azure, a platform developed by Microsoft. Since we already used Azure, integration with Cosmos DB, Azure's native NoSQL database, was significantly faster than a standalone MongoDB instance. While Azure offers integration with MongoDB, utilizing Cosmos DB simplified the process due to the readily available APIs. Similarly, Azure PostgreSQL also streamlined integration because it is a Microsoft product, eliminating the need to work with a third-party vendor.

As the only database I've used extensively, particularly with Spark, I recently re-architected our application to identify performance bottlenecks. Surprisingly, Azure Cosmos DB consistently demonstrated exceptional speed, executing complex queries in under 100-200 milliseconds. This contradicted our initial hypothesis that the database was the primary cause of slowdowns. It proved to be one of the most efficient components, requiring minimal optimization. Therefore, Cosmos DB has proven optimal for searching through our organization's large datasets.

We have only used Azure Cosmos DB, so there isn't much reference to compare. However, within our chapter, when dealing with other chapters, there is a noticeable difference in performance in our application. The biggest differentiator in performance and speed for applications is typically the database, and having a speedy database solves a lot of performance issues.

Cosmos DB has provided excellent latency and availability. We have not experienced any database inaccessibility, downtime, crashes, or unexpected bills due to data spikes, even with the massive amounts of data we handle.

A single PostgreSQL node can handle a massive workload of telemetry data, eliminating the need for horizontal scaling in our case. Its impressive capacity and resilience ensure smooth operation even during spikes or large influxes of data.

What is most valuable?

The standout features are its ability to do data compression easily and the ability to scale horizontally. We initially used Azure Cosmos DB NoSQL, a document-based database, but as our application grew, we realized the relationships between entities were becoming more complex and NoSQL was no longer suitable. To address this, we migrated most of our data to Azure Cosmos DB for PostgreSQL, a relational database, while retaining the original NoSQL database for telemetry data. This approach offers two key benefits: simplified data compression, thanks to seamless integration with our ORM, Prisma, and horizontal scalability, providing the flexibility to expand our database capacity as needed quickly.

What needs improvement?

Azure Cosmos DB for NoSQL has a less developed interface and fewer SQL commands than MongoDB, and its community support is also smaller. Additionally, Azure Cosmos DB for PostgreSQL users face the challenge of not having a portal for running queries.

Microsoft could improve its pricing, and the way request units are purchased. The current system requires users to pre-purchase an estimated amount of requested units, often leading to unused units and unnecessary costs. This pre-purchase model is inefficient and inconvenient for users. Overall, the pricing structure must be more flexible and transparent to align with actual usage.

For how long have I used the solution?

I've used Cosmos DB for three years now at Spark New Zealand, and even before that, I worked on Cosmos DB inconsistently until my current company exclusively used it.

What do I think about the stability of the solution?

I would rate Cosmos DB's stability eight out of ten. We haven't experienced any significant stability issues or downtime.

What do I think about the scalability of the solution?

Scalability for Cosmos DB PostgreSQL is rated around eight point five out of ten. The single node is capable of handling massive loads, and we haven't needed to scale horizontally yet.

How are customer service and support?

In the three years of using Azure Cosmos DB, we never needed to contact support, indicating its reliability.

How would you rate customer service and support?

Positive

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

I have used MongoDB previously. The integration with Microsoft Azure and its products is faster and easier compared to MongoDB.

How was the initial setup?

Deploying the NoSQL database was simple, but the PostgreSQL deployment proved more complex. Initially, it was particularly challenging due to limited resources; it was around when Microsoft acquired Citus, and comprehensive materials were scarce. The lack of a dedicated portal further complicated the process, making tasks like running queries more difficult than the user-friendly Azure portal available for NoSQL.

The Cosmos DB PostgreSQL deployment, including investigation and testing, took one week, while the deployment itself only required two days.

What about the implementation team?

There were around ten to twelve people involved in building the application using Cosmos DB. Other teams within our organization might also use it.

What was our ROI?


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

Pricing is mid- to high-end. The way request units are purchased is atypical, as they must be bought ahead of time based on expected usage, which can be inefficient.

Which other solutions did I evaluate?


What other advice do I have?

I would rate Cosmos DB eight out of ten.

Cosmos DB, particularly the PostgreSQL setup, can be relatively maintenance-free. While the service itself requires no active maintenance, optimizing for cost-efficiency may involve implementing scripts to compress older data, as demonstrated in the PostgreSQL example. This proactive approach minimizes the need for ongoing maintenance, ensuring the application remains hassle-free.

Our Cosmos DB, deployed in a single region, primarily serves businesses and establishments rather than individual users. Each customer typically has only a few users on the app. Our primary concern isn't the number of users but the volume of telemetry data generated by devices at each establishment. These devices transmit data every five minutes, resulting in a constant influx of information 24/7, 365 days a year.

Within my chapter, around 15 people are using Cosmos DB.

For NoSQL, I would recommend it if you are already using Azure. For PostgreSQL, the lack of a query portal is a downside, but the features it offers can justify its slightly higher price.

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.
Flag as inappropriate
PeerSpot user
reviewer2595951 - PeerSpot reviewer
Head of IT, Infrastructure, Operations & Applications Development at a manufacturing company with 201-500 employees
Real User
Top 20
It's helpful for big data applications, but we're still having trouble with performance
Pros and Cons
  • "The solution is used because we get faster response times with large data sets than with SQL. It's essential for us because we have half a billion rows, and we need to return them quickly."
  • "The solution is used because we get faster response times with large data sets than with SQL."
  • "From about half a billion rows, we're returning maybe 20,000 in two or three minutes. We don't know why, but we are working with Microsoft and a third party to figure that out."
  • "The customer service is lacking. We have a premier support agreement, but support is hit and miss."

What is our primary use case?

We utilize the solution for big data, which is collected from IoT devices and streamed through a number of Azure services. The data is then landed in the Cosmos database for analysis later.

What is most valuable?

The solution is used because we get faster response times with large data sets than with SQL. It's essential for us because we have half a billion rows, and we need to return them quickly. 

What needs improvement?

Using it is easy. We are having trouble optimizing it. I'm not a technical person, so I couldn't explain why, but we're not getting the performance we were expecting. I'm sure it's probably an us problem instead of a product problem, but that's where we are.

From about half a billion rows, we're returning maybe 20,000 in two or three minutes. We don't know why, but we are working with Microsoft and a third party to figure that out. 

For how long have I used the solution?

I have used it for about four years.

What do I think about the stability of the solution?

There are issues with latency between data arriving in Cosmos and showing up in a query. I'm told that's just the nature of the way Cosmos works. It can take up to five minutes to show up, but that's not a significant issue as we have workarounds in place.

What do I think about the scalability of the solution?

I think the ability to scale workloads will depend on the outcome of tomorrow's meeting.

How are customer service and support?

The customer service is lacking. We have a premier support agreement, but support is hit and miss. There are good engineers and not so good engineers. Premier Support has deteriorated compared to what it used to be, especially for small to medium-sized customers like ours.

How would you rate customer service and support?

Neutral

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

We used SQL previously, but Microsoft told us to use Cosmos DB because SQL wasn't performing.

How was the initial setup?

The initial setup wasn't a long process. It took a couple of weeks. The whole thing was a proof of concept that eventually migrated into live use.

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

The solution was a new product, so we didn't have a cost of ownership before. The cost has not surprised us. It's not been an issue. If we were doing multi-master replication globally, the cost would increase significantly, but since we're not, it's manageable.

What other advice do I have?

I rate Microsoft Azure Cosmos DB seven out of 10. If we can fix the problem we have, I could rate it a ten because there's nothing else I can point to for improvement if the performance meets our needs.

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.
Flag as inappropriate
PeerSpot user