Try our new research platform with insights from 80,000+ expert users
Kunal Mukerjee - PeerSpot reviewer
Vice President, Technology, Strategy & Architecture at a tech vendor with 1,001-5,000 employees
Real User
Top 10
Dec 16, 2024
The solution has improved search result quality, throughput, and query latency
Pros and Cons
  • "It is integral to our business because it helps manage schema and metadata for all our documents and customers. The AI insights we glean based on Azure OpenAI also end up in Cosmos DB. We need a NoSQL store because the schema is dynamic and flexible, so Cosmos DB is a great fit. It has four nines or possibly five nines availability, excellent geo-distribution, and auto-scaling."
  • "Cosmos DB is effective at handling large queries."
  • "The challenge for us is always scale."

What is our primary use case?

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

How has it helped my organization?

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

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

What is most valuable?

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

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

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

For how long have I used the solution?

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

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

What do I think about the stability of the solution?

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

What do I think about the scalability of the solution?

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

How are customer service and support?

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

How would you rate customer service and support?

Positive

How was the initial setup?

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

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

What about the implementation team?

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

What was our ROI?

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

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

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

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

Which other solutions did I evaluate?

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

What other advice do I have?

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

Which deployment model are you using for this solution?

Public Cloud

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

Microsoft Azure
Disclosure: My company does not have a business relationship with this vendor other than being a customer.
PeerSpot user
Jeff Yeh - PeerSpot reviewer
Senior Manager at a computer software company with 501-1,000 employees
Vendor
Top 10
Nov 27, 2024
Stands out with global sync, cost-effectiveness, and fast performance
Pros and Cons
  • "The global synchronization feature of Azure Cosmos DB stands out as the most valuable for me."
  • "The global synchronization feature of Azure Cosmos DB stands out as the most valuable for me."
  • "I do not have any specific suggestions for improvements at the moment. However, having more AI capabilities in the future would be beneficial."

What is our primary use case?

Our primary use case for Azure Cosmos DB is mainly as a Document DB and vector DB.

How has it helped my organization?

Azure Cosmos DB is very easy to use. We do not have to spend a lot of time on its optimization.

There is a lot of reference code we can use. It is very easy. We could grab some code to interact with the database.

We have integrated the vector database with some of the IoT applications and recently, some AI-related topics because it is a cloud-native service. Our company offers professional services to help customers bring their own applications to the cloud. The cost and performance are some of the main benefits of the vector database. 

The integration of the vector database with Azure AI services is great. In most applications right now, we use the logic of vector search and the traditional way of using full-text search. It is easier for the applications to get those search results.

I am more on the presales side. Most of the time, we do a quick demo for our customers. We only spend about fifteen minutes building a simple application with the RAG functionality with the customer's own data. That is very impressive.

It provides good SLAs and requires less effort in maintenance.

What is most valuable?

The global synchronization feature of Azure Cosmos DB stands out as the most valuable for me. It is a reliable and consistent storage solution, suitable for various data types. It is always available. Additionally, it is cost-effective.

What needs improvement?

I do not have any specific suggestions for improvements at the moment. However, having more AI capabilities in the future would be beneficial.

For how long have I used the solution?

I have been using Azure Cosmos DB for three or four years.

What do I think about the stability of the solution?

The stability of Azure Cosmos DB is very nice, with features like cross-region synchronization that allows fast and reliable performance.

The latency and availability of Azure Cosmos DB are very nice. There are cross-region synchronization features. The speed is very fast.

What do I think about the scalability of the solution?

Azure Cosmos DB scales well, both in terms of capacity and performance. You can adjust the Request Units (RUs) as needed, and the cross-region synchronization allows easy scaling across different locations.

As compared to a traditional RDBMS, Azure Cosmos DB’s dynamic scaling decreases an organization’s overhead costs by half.

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

We previously used Redis and Postgres for vector databases before they were supported in Azure Cosmos DB. In the beginning, the vector database was not supported with Azure Cosmos DB, so we had to use the Redis or Postgres database, which was expensive. Azure Cosmos DB is cheaper.

Our company offers consulting services for Microsoft-related products. This is one of the reasons for recommending Azure Cosmos DB, but sometimes our customers use MongoDB and other solutions.

How was the initial setup?

The initial setup of Azure Cosmos DB was easy. During the migration or implementation of Azure Cosmos DB, there are sometimes some incompatibility issues, but they are minor issues.

It was easy for our team to use. It took them one week to know the system and work with it. It takes our team members about four weeks to earn their certification for Azure Cosmos DB. There is a special certification for Azure Cosmos DB.

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

It is cost-effective. They offer two pricing models. One is the serverless model and the other one is the vCore model that allows provisioning the resources as necessary. For our pilot projects, we can utilize the serverless model, monitor the usage, and adjust resources as needed.

What other advice do I have?

I would rate Azure Cosmos DB an eight out of ten. There is room for growth, but Microsoft is constantly releasing new features and moving very fast.

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. Partner
PeerSpot user
Buyer's Guide
Microsoft Azure Cosmos DB
December 2025
Learn what your peers think about Microsoft Azure Cosmos DB. Get advice and tips from experienced pros sharing their opinions. Updated: December 2025.
879,768 professionals have used our research since 2012.
reviewer2595687 - PeerSpot reviewer
Cloud Engineer at a energy/utilities company with 10,001+ employees
Real User
Top 10
Nov 24, 2024
Has incredible latency and availability
Pros and Cons
  • "The features most valuable to us in Microsoft Azure Cosmos DB are the auto scale and change feed. These features allow us to do some operations that are not possible with SQL Server."
  • "Latency and availability are incredible."
  • "One of our biggest pain points is the backup and restore functionality needs improvement. They've gotten a little better in this area. SQL Server's long-term retention is amazing, and you can restore data from years ago. You need to open a support Microsoft ticket to restore your Cosmos DB backup, and it comes in on a different Cosmos account. It's just kind of a headache to restore data."
  • "One of our biggest pain points is the backup and restore functionality needs improvement."

What is our primary use case?

We primarily use Microsoft Azure Cosmos DB as a transactional data store and for some event-driven applications. We utilize the change feed, and the function app triggers quite a bit. MPerks, our customer loyalty application, uses it. It has become our go-to database, and we hardly touch SQL Server for new stuff.

How has it helped my organization?

Our developers find Microsoft Azure Cosmos DB easy to use and more scalable. The whole cloud model of only paying for what you use fits our organization well. 

What is most valuable?

The features most valuable to us in Microsoft Azure Cosmos DB are the auto scale and change feed. These features allow us to do some operations that are not possible with SQL Server. It is super configurable, allowing us to pick and choose the different Cosmos databases we need, whether or not dynamic scaling is the right thing for that workload.

Latency and availability are incredible. Given that our data is partitioned and indexed correctly, we can run queries and get results in less than five milliseconds. This has resulted in happier customers.

Cosmos is super-easy to use. It adopts a whole document database strategy with no relational data, so what you see is what you get. It's straightforward to understand, and you no longer need to worry about entity diagrams.

What needs improvement?

One of our biggest pain points is the backup and restore functionality needs improvement. They've gotten a little better in this area. SQL Server's long-term retention is amazing, and you can restore data from years ago. You need to open a support Microsoft ticket to restore your Cosmos DB backup, and it comes in on a different Cosmos account. It's just kind of a headache to restore data.

CosmosDB's ability to search through large amounts of data isn't great. It kills the RUs if you're using the transactional store. We use Synapse Analytics for our more analytical workloads. We love Synapse for that purpose.

For how long have I used the solution?

I have been using Microsoft Azure Cosmos DB for about six years.

What do I think about the scalability of the solution?

There are no critical scalability issues with Microsoft Azure Cosmos DB. It scales well with RUs, and it is never an issue for us. Our issues usually lie more on the application side.

How are customer service and support?

The support experience has been pretty good, and I don't have a lot of complaints.

How would you rate customer service and support?

Positive

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

Previously, we used SQL Server. Microsoft Azure Cosmos DB was chosen because it is the go-to document data store, and our developers are familiar with SQL syntax.

How was the initial setup?

New developers are able to get jumpstarted on Microsoft Azure Cosmos DB quickly. Although we learned some lessons on how to structure and partition data, the initial setup was not problematic.

What was our ROI?

I can't specify the exact ROI, but Microsoft Azure Cosmos DB has decreased our total cost of ownership.

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

We pay for what we use, with the flexibility to reserve our use. Autoscaling is a premium option, but it helps when our database isn't in high demand. It provides flexibility in configuring our RUs, whether we want to do it at the database or container level. We have lots of options to configure and pay for the solution. 

Which other solutions did I evaluate?

We evaluated AWS solutions, but ultimately chose Microsoft Azure Cosmos DB.

What other advice do I have?

I would rate Microsoft Azure Cosmos DB a nine out of 10. Both Microsoft Azure Cosmos DB and Cosmos SQL DB are familiar to our developers who come from a SQL Server background.

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.
PeerSpot user
Jordan Berry - PeerSpot reviewer
CEO at a tech services company with 11-50 employees
Real User
Top 10
Dec 18, 2024
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
PeerSpot user
Lead Software Architect at a renewables & environment company with 51-200 employees
Real User
Top 10
Dec 16, 2024
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: My company does not have a business relationship with this vendor other than being a customer.
PeerSpot user
reviewer2227599 - PeerSpot reviewer
Vice President, Machine Learning at a healthcare company with 10,001+ employees
Real User
Top 20
Nov 27, 2024
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.
PeerSpot user
reviewer2542083 - PeerSpot reviewer
CEO at a tech vendor with 201-500 employees
Real User
Top 20
Sep 19, 2024
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
Alexander Amante - PeerSpot reviewer
Chapter Lead - IoT Full Stack Development & DevOps at a comms service provider with 5,001-10,000 employees
Real User
Top 20
Oct 14, 2024
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.
PeerSpot user