Try our new research platform with insights from 80,000+ expert users
System Administrator Technology Services Engineer at a retailer with 10,001+ employees
Real User
Interactions are easy with API access and scaling is also easy
Pros and Cons
  • "The best feature of Microsoft Azure Cosmos DB is API access, which makes it very easy to interact with the database without needing to write queries."
  • "Overall, I would rate Microsoft Azure Cosmos DB a nine out of ten."
  • "They can implement a better backup system or alert system on Microsoft's end. We do receive notices for regular maintenance or updates, but sudden issues create significant problems."
  • "There is room for improvement in Microsoft's maintenance aspect. For example, we had a major incident at the end of December where the entire South Central region was down for our application, causing many problems due to a lack of access to the database."

What is our primary use case?

We use it for our internal operations, including order history and other things related to e-commerce.

We do not use the built-in vector database capabilities since they are driven by another team in our organization. We just access through the API.

How has it helped my organization?

We find Microsoft Azure Cosmos DB easy to use. We are provided APIs for each and every write or edit access, even for read operations. We don't directly query the database. API-based access makes it easy.

Previously, we used to have maintenance or server issues. We don't have those issues anymore.

What is most valuable?

The best feature of Microsoft Azure Cosmos DB is API access, which makes it very easy to interact with the database without needing to write queries. It's also fast. As it's Microsoft-provisioned, the cloud is very accessible and reliable as well.

What needs improvement?

There is room for improvement in Microsoft's maintenance aspect. For example, we had a major incident at the end of December where the entire South Central region was down for our application, causing many problems due to a lack of access to the database. It led to missing data in some systems. They can implement a better backup system or alert system on Microsoft's end. We do receive notices for regular maintenance or updates, but sudden issues create significant problems.

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

For how long have I used the solution?

I've been using Microsoft Azure Cosmos DB for more than one year.

What do I think about the stability of the solution?

In the past year, I have only been using Microsoft Azure Cosmos DB for a year, and previously we encountered Microsoft issues such as maintenance or server problems, but these days we are not observing that as much.

For stability and impressions of latency and availability, I would rate it an eight or nine; we have not seen significant issues recently.

What do I think about the scalability of the solution?

I rate scalability as pretty good. Because it's in the cloud, scaling is easy.

We are a very large organization. It is hard to know how many teams use Microsoft Azure Cosmos DB or still rely on the older systems. I am in India, and our team uses Microsoft Azure Cosmos DB, and I believe teams in the U.S. use it as well.

How are customer service and support?

I would rate the technical support a nine out of ten.

How would you rate customer service and support?

Positive

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

Before using Microsoft Azure Cosmos DB, we had a different database system in place. The main factor for switching was cost-related. It was a leadership decision, and as a fresher, I wasn't involved in these discussions.

How was the initial setup?

We were not part of the deployment. We were involved in migration activities, but I'm not very sure about the deployment experience. We aren't seeing any major issues now.

Maintenance of Microsoft Azure Cosmos DB is ongoing. There is a Cosmos DB team in our organization conducting maintenance, though not very frequently.

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

I'm not aware of the exact costs. We received one report a long time ago regarding savings after we started using Microsoft Azure Cosmos DB, but I don't remember the details. It seems to have helped significantly. We were using a different database system previously, and one of the reasons for acquiring Microsoft Azure Cosmos DB was cost.

What other advice do I have?

I definitely recommend Microsoft Azure Cosmos DB, although I'm still learning. It's been just two years, but I've taken courses on Microsoft Azure. I recognize the advantages in scalability, availability, and cost factors, with maintenance issues being minimal as well. 

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

Which deployment model are you using for this solution?

Public Cloud

If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?

Microsoft Azure
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Flag as inappropriate
PeerSpot user
Jordan Berry - PeerSpot reviewer
CEO at Interloop Data
Real User
Top 10
Enables us to handle transactional and analytical workloads in the same database
Pros and Cons
  • "We love the ability to land data with Cosmos DB easily. Cosmos is native to Azure, so everything works seamlessly with it. You need good data to have good AI, and Cosmos makes it easy to land the data."
  • "We have both our SaaS app and the analytical side running without throttling issues."
  • "We would like to see advancements in AI with the ability to benchmark vector search capabilities, ensuring it answers questions accurately. During our initial implementation, we faced challenges with indexing and sorting, which are natively available in other offerings but required specific configurations in Cosmos."
  • "We would like to see advancements in AI with the ability to benchmark vector search capabilities, ensuring it answers questions accurately. During our initial implementation, we faced challenges with indexing and sorting, which are natively available in other offerings but required specific configurations in Cosmos."

What is our primary use case?

Our corporate mission is to help companies achieve more with their data, which often means unifying your data. We have a SaaS solution and have built a Copilot with Copilot Studio on top, as well as some of the Azure AI services, which is now Foundry. We are starting to use it to allow people to use natural language to ask questions of their data. We are early in our journey, but I suspect it will work well for us.

How has it helped my organization?

By incorporating Cosmos DB into our Azure ecosystem, we have streamlined costs and improved efficiency. The integration has allowed us to manage Cosmos alongside our other services, providing a comprehensive view of resources. The inclusion of advanced capabilities has been beneficial, positively impacting our internal operations and the services we offer to clients.

We're early in our journey, but I believe it will improve the quality of our search results. We're having a lot of success with Copilot and are excited to see how it'll work in a traditional sense as well. We're in analytics, so we work with a lot of massive data and look at tens of millions of rows. We haven't had any capacity challenges or thresholds. We started with small data, so having a tool that will grow with you is great. 

What is most valuable?

We love the ability to land data with Cosmos DB easily. Cosmos is native to Azure, so everything works seamlessly with it. You need good data to have good AI, and Cosmos makes it easy to land the data.

The recently added ability to mirror to Fabric has been beneficial. Cosmos DB enables us to handle transactional and analytical workloads in the same database. 

Cosmos DB is easy to use. You can set up a database with a couple of clicks, and it's simple to scale it up and down based on your needs. Within Azure, the Explorer UX has been great for us, too. You don't have to install another tool to run a quick query or explore some data. Additionally, the ability to estimate your Cosmos costs through the portal and manage features has been useful.

Like most database tools, it takes some time to understand. If you come from SQL or even from the Mongo world, many concepts will be familiar to you. While it takes some learning and expertise, it's not a large hill to climb. You must learn the advanced capabilities, but they make your solutions more powerful.

The vector database requires an additional engineering step to move the data from a transactional database to a vector store so that you can query it and use it in AI. However, because the vector capabilities are built in, it saved us engineering time and allowed us to get our solution out faster. 

What needs improvement?

We would like to see advancements in AI with the ability to benchmark vector search capabilities, ensuring it answers questions accurately. During our initial implementation, we faced challenges with indexing and sorting, which are natively available in other offerings but required specific configurations in Cosmos.

For how long have I used the solution?

We have used Cosmos SQL for more than five years.

What do I think about the stability of the solution?

There have been no challenges with Cosmos DB's stability. We have both our SaaS app and the analytical side running without throttling issues.

What do I think about the scalability of the solution?

The scalability is great, both horizontally and vertically.

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

In the past, we've worked with traditional SQL Server and MongoDB. However, Cosmos being native to Azure and the seamless integration prompted our switch.

How was the initial setup?

The onboarding process was relatively quick for us. We were up and running within two weeks, including a pilot test.

What was our ROI?

The dynamic scaling during peak times has been crucial in cost management.

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

The integration of Cosmos with our other Azure services allows us to manage costs proactively. The built-in capabilities help control costs in line with our growth expectations through the portal. 

What other advice do I have?

I rate 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: Reseller
Flag as inappropriate
PeerSpot user
Buyer's Guide
Microsoft Azure Cosmos DB
May 2025
Learn what your peers think about Microsoft Azure Cosmos DB. Get advice and tips from experienced pros sharing their opinions. Updated: May 2025.
851,604 professionals have used our research since 2012.
Balaram Vardhineedi - PeerSpot reviewer
Application Development Analyst at Accenture
Real User
Top 10
Provides multi-region storage, low latency, and automatic scaling
Pros and Cons
  • "In Microsoft Azure Cosmos DB, one valuable feature is its ability to store data in multiple regions. If one region fails, it automatically switches to a healthy region, ensuring minimal latency and disaster recovery without impacting data latency in applications."
  • "Microsoft Azure Cosmos DB is very easy to use."
  • "Currently, I have no suggestions for enhancement or new implementations in Microsoft Azure Cosmos DB. However, the cost can sometimes be high, especially during cross-partition queries with large data amounts."
  • "The cost can sometimes be high, especially during cross-partition queries with large data amounts."

What is our primary use case?

We use Microsoft Azure Cosmos DB to store document-type data, graph data, and key-value type data. It is a globally distributed database, which we mainly utilize to store document-type JSON data. 

In my project, I work with core SQL-type queries. Using the API, we are storing JSON data in Microsoft Azure Cosmos DB with a database and container-level architecture. This involves storing items using a partition key for optimized query performance.

We get data from BLOB storage. After some processing, we are storing it in the JSON format in Microsoft Azure Cosmos DB.

How has it helped my organization?

Microsoft Azure Cosmos DB automatically indexes documents. By indexing every field in the document, it is easy to get fast performance to retrieve the records. While fetching, it fetches only specific fields required for further processing, which makes it efficient. Fetching all the fields from a document takes more time.

Storing data with a partition key makes data fetching easier and faster.

Microsoft Azure Cosmos DB helps in fetching data faster. There is a single-digit millisecond response to fetch those records.

Microsoft Azure Cosmos DB supports scalability. At a peak time, it will automatically scale the RUs. When there is less data, it will decrease them.

What is most valuable?

In Microsoft Azure Cosmos DB, one valuable feature is its ability to store data in multiple regions. If one region fails, it automatically switches to a healthy region, ensuring minimal latency and disaster recovery without impacting data latency in applications. It scales automatically based on query performance and peak traffic.

Microsoft Azure Cosmos DB is very easy to use.

What needs improvement?

Currently, I have no suggestions for enhancement or new implementations in Microsoft Azure Cosmos DB. However, the cost can sometimes be high, especially during cross-partition queries with large data amounts.

For how long have I used the solution?

I have been using Microsoft Azure Cosmos DB for the last two years.

What do I think about the stability of the solution?

Microsoft Azure Cosmos DB provides high availability with 99.9% reliability. When we store documents in Microsoft Azure Cosmos DB, it stores them in multiple regions, not only at specific regions. If one region fails, it automatically switches to a healthy region. 

There is low latency. The partition key helps achieve low latency by ensuring data is stored and accessed efficiently.

What do I think about the scalability of the solution?

Microsoft Azure Cosmos DB offers both automatic and manual scaling. The automatic scaling feature adjusts RUs based on peak demands, which helps manage workloads efficiently. The dynamic scaling feature has helped reduce overhead costs by automatically managing resource utilization.

Our application is being used globally, and we have ten members in our team.

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

When I joined the organization, Microsoft Azure Cosmos DB was already in use. I have not worked with other NoSQL databases before.

How was the initial setup?

It is a Platform as a Service. It was already implemented before I joined.

I started working with it in the first month. I had the support of the senior developers of the time.

It does not require maintenance from our end.

What was our ROI?

We monitor the cost daily through Azure Monitor to evaluate how much it is costing for documents, thereby keeping track of the return on investment.

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

Microsoft Azure Cosmos DB pricing is based on RUs. Reading 1 KB document costs one RU, whereas writing one document costs five RUs. Pricing for querying depends on the complexity of the query. If you increase the document size, it will automatically increase the RU cost.

What other advice do I have?

I would recommend this solution. For e-commerce applications, it is more beneficial because it can store semi-structured data. It is the best option if you want to get data quickly because it organizes the data in a good way. When a region fails, it automatically switches to a healthy region. It has backup storage, and it scales automatically based on the peak time or low time.

I would rate Microsoft Azure Cosmos DB an eight out of ten. It is a good solution, but the cost can increase with cross-partition queries due to data distribution.

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
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.

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: I am a real user, and this review is based on my own experience and opinions.
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
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
Flag as inappropriate
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