Azure Cosmos DB

Cosmos DB (formerly, Document DB) is Microsoft’s premier NoSQL service offering on Azure. It is the first globally distributed, multi model database offered on cloud by any vendor.

Image Source: https://docs.microsoft.com/en-us/azure/cosmos-db/introduction

Lets have a look at the main features of Cosmos DB:

Globally Distributed:  It is extremely easy to distribute data globally by using multiple Azure regions. Having data spread across multiple geographies enables faster access to data and a better overall user experience.          

Automatic Indexing: Cosmos DB indexes all stored data automatically, irrespective of the underlying schema used. No schema or index management is required. For customers, who would like to have more control, there is option to customize indexing as well.

Multi-model: It can be used to store data in various data storage models such as Key-value pair, document based, graph based, column-family based etc. No matter what data model the customer chooses, consistency, low latency, global distribution and automatic indexing features are the same. This will be discussed in detail in a future post.

Multiple consistency models: Cosmos DB supports five consistency models. Eventual, Prefix, Session, Bounded and Strong. This gives the customers the flexibility to choose the way data is replicated between multiple geographical regions. Consistency models will be discussed in detail in a future post.

Guaranteed Low Latency: Cosmos DB guarantees 10ms latency at the 99th percentile for reads and writes. What this means is 99% of the requests will have a latency of 10ms or less. This guarantee is applicable to all consistency levels.  This is made possible due to the data being distributed globally on multiple Azure regions. Users can access data from the Azure region geographically closest to their physical location.  

Multi-Language and Multi-API Support: Cosmos DB supports a wide range of languages and APIs. Languages for which SDKs are available include Java, .NET, Python, Node.js, JavaScript etc. The following APIs are supported: SQL API, Cosmos DB Table API, Mongo DB, Graph API, Cassandra etc. More details about API features will be discussed in future posts.

2 thoughts on “Azure Cosmos DB

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: