In Apache Cassandra Lunch #79: Cassandra API in Cosmos DB, we discussed Cosmos DB and it’s relationship to Cassandra. Specifically, we discussed the Cosmos DB Cassandra API, and how it relates to Azure managed Cassandra and standalone Cassandra instances. The live recording of Cassandra Lunch, which includes a more in-depth discussion and a demo, is embedded below in case you were not able to attend live. If you would like to attend Apache Cassandra Lunch live, it is hosted every Wednesday at 12 PM EST. Register here now!
Cosmos DB Overview
Cosmos DB is a managed NoSQL database that is part of Microsoft’s Azure cloud offerings. It is separate from Azure’s Azure Managed Instance for Apache Cassandra, which is as it says a managed instance of Apache Cassandra. Cosmos DB is a multi-model database with a mode of operation compatible with the Cassandra protocol. Regardless of the underlying model that Cosmos DB uses, it still has some similarities with Apache Cassandra. They are both NoSQL databases. They both are capable of global distribution. Both databases are also horizontally scalable – the addition of more commodity hardware can increase the performance of the cluster. Cosmos DB is used by Microsoft to back a number of their other applications.
Cosmos DB APIs
Cosmos DB can be deployed with a number of different APIs. Each API uses the items and containers of the underlying CosmosDB storage model to replicate the storage inherent to a different type of database. A MongoDB API will store documents in collections, but underneath it will still be using CosmosDBs items and containers. This same underlying storage is used to model graph databases, Cassandra, and key-value stores.
Cassandra API
CosmosDBs Cassandra API stores rows in tables, as the mapping from the base items and containers. It is compatible with cqlsh and standard Cassandra drivers. It can also for connections with open source Cassandra instances through Azure Managed Instance for Apache Cassandra.
Cassandra.Link
Cassandra.Link is a knowledge base that we created for all things Apache Cassandra. Our goal with Cassandra.Link was to not only fill the gap of Planet Cassandra but to bring the Cassandra community together. Feel free to reach out if you wish to collaborate with us on this project in any capacity.
We are a technology company that specializes in building business platforms. If you have any questions about the tools discussed in this post or about any of our services, feel free to send us an email!