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.
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.