Azure Cosmos and Apache Cassandra

Cassandra and Microsoft

What is NoSQL? And why use it? Did Microsoft Think about it? All answers will be clear in this article.

Microsoft Cassandra

Before launching a software development project, you need to decide what database management system (DBMS) would be the best fit to satisfy the prospected workload. Software architects and developers put a lot of effort into considering specific requirements for simplified data modeling, transaction guarantees, read/write speed, horizontal scaling, failure resilience, etc.

Traditionally, the starting point is choosing between SQL and NoSQL categories since each represents a set of tradeoffs. When considering NoSQL, it must be clear that a person would hear about MongoDB and Cassandra.

What is NoSQL?

NoSQL term was coined to indicate a new generation of non-relational databases regardless of any specific technology standing behind them. They evolved to resolve existing scaling and accessibility issues characteristic of traditional relational databases.

NoSQL databases represent distributed systems with parallel processing designed for linearly scalable applications, such as search engines.

Microsoft handled NoSQL with what is called Azure Cosmos DB.

But, What is Azure Cosmos DB in Real?

Azure Cosmos DB is a fully managed, serverless NoSQL database for high-performance applications of any size or scale.

It has open-source APIs for NoSQL databases like Cassandra and MongoDB, which allows us to develop fast, flexible apps.

So, How the Azure Cosmos DB Cassandra API can be used?

Azure Cosmos DB Cassandra API can be used as the data store for apps written for Apache Cassandra. This means that by using existing Apache drivers compliant with CQLv4, your existing Cassandra application can now communicate with the Azure Cosmos DB Cassandra API. In many cases, you can switch from using Apache Cassandra to using Azure Cosmos DB’s Cassandra API by just changing a connection string.

The Cassandra API enables you to interact with data stored in Azure Cosmos DB using the Cassandra Query Language (CQL), Cassandra-based tools (like cqlsh), and Cassandra client drivers that you’re already familiar with.

That is awesome, isn’t it? Especially after the great benefits of it, like the following:

  • Open source standard: Despite being a fully managed service, Cassandra API still supports a large surface area of the native Apache Cassandra wire protocol, allowing you to build applications on a widely used and cloud-agnostic open source standard.
  • Ability to use existing code and tools: Azure Cosmos DB provides wire protocol level compatibility with existing Cassandra SDKs and tools. This compatibility ensures you can use your existing codebase with Azure Cosmos DB Cassandra API with trivial changes.
  • Global distribution and availability: Azure Cosmos DB provides the ability to distribute data globally across all Azure regions and serve the data locally while ensuring low latency data access and high availability. Azure Cosmos DB provides 99.99% high availability within a region, and 99.999% reads and writes availability across multiple regions with no operations overhead.

These are some little benefits of a much larger set of benefits that Azure Cosmos DB Cassandra API gives developers. More details can be found within the sources of this article.

Also you can read about: TopNotch Power Apps Samples

Resources: