Pragmatic Works Nerd News

Should You Use Cosmos DB?

Written by Adam Jorgensen | Oct 31, 2018

As data volumes continue to grow and we’re storing more data and more kinds of data, people are asking questions about how best to store all that data. One question we hear is, how do I know if I need Cosmos DB or a NoSQL solution?

With all this data coming in, we need to be able to bring that data together and analyze it. Historically, we would have built a data model - built our tables, relationships, indexes and understood how we’re going to query that data. And we would have modeled the data to line up with the best way to represent the business problem or the best performing way in a transactional system.

But now we oftentimes get data and we don’t know what the relationship is going to be between data that comes from different systems. Those relationships evolve over time, so they need a more flexible solution. That’s where these NoSQL solutions come into play.

Cosmos DB has all these different modes that are great for documents and social graph type solutions. There are a lot of new workloads that are growing and have huge volumes of data, but they’re not that great for doing that work in a relational database.

So, if you have lots of interconnected data but you don’t know all the relationships ahead of time, plus you want to have a flexible schema and adapt that if you need for more rapid development, then Cosmos DB is something to look at.

Cosmos DB is a global scale, incredibly fast and very powerful system. With things like scalability, lower cost, schema flexibility, sparse and semi-structured data, Cosmos DB is going to shine.

A NoSQL environment does have some challenges—challenges such as limited query capability, some portability issues and the technology is rapidly evolving, but Cosmos DB has addressed a number of these issues.

For example, depending upon which platform you’d like it to emulate, like Mongo for instance, it will make the data show up through its API through its query interface like that platform. You can have your apps migrate and talk to Cosmos in a way that’s fast and seamless with very minimal or no code changes.

So, back to the question – should you use or at least explore Cosmos DB? In my opinion, if you’re a data person or in charge of data, you should definitely understand it, as well as its pros and cons. Does it replace things like Azure Data Warehouse? Of course not; they have different workloads and different types of solutions. But again, gaining an understanding of what it can do is great knowledge to have and a great NoSQL option.

If you’d like to go deeper into this, let us know, we can talk you through it in more detail. Click the link below or contact us to learn more about Cosmos DB or anything Azure related—we’re here to help with answers and get you started with any Azure solution or service.