DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

Cosmos DB


CosmosDB is a globally distributed, consistent, schema-less, multi-model document database that provides high-throughput and availability across various geographical regions. It started as an internal project called "Florence" at Microsoft and then later expanded to Document DB and then finally to Cosmos DB. It is used to solve data storage problems of large-scale distributed Internet-scale applications. Most of the Microsoft internal services such as Bing, Office 365, Ads, etc. and many other external services use Cosmos DB for their storage needs. It provides 99.99% availability regardless of a number of regions associated with data.

Country of Origin
US
Start Year
2015 [03]
Former Name
DocumentDB
Project Type
Commercial
Written in
C++
Supported Languages
C#, Go, Java, JavaScript, Python
Operating System
Windows
License
Proprietary

Database Entry

Cosmos DB


CosmosDB is a globally distributed, consistent, schema-less, multi-model document database that provides high-throughput and availability across various geographical regions. It started as an internal project called "Florence" at Microsoft and then later expanded to Document DB and then finally to Cosmos DB. It is used to solve data storage problems of large-scale distributed Internet-scale applications. Most of the Microsoft internal services such as Bing, Office 365, Ads, etc. and many other external services use Cosmos DB for their storage needs. It provides 99.99% availability regardless of a number of regions associated with data.

History


CosmosDB started as a successor to DocumentDB in 2006

Checkpoints


Indexes


As soon as the data is ingested into the system, all of the data is synchronously indexed and made durable and highly available. The internal Meta-data service, which is part of Cosmos maintains file extent locations similar to HDFS name node. It indexes all of the meta-data by using Hekaton, an in-memory database. Updates to the meta-data state is done using SQL transactions on Hekaton with the help of lock-free indexes such as Bw-Trees. The updates are propogated to other nodes by using RSL-HK rings.

Stored Procedures


System Architecture


Views


Citations

3 sources
  1. Azure Cosmos DB | Microsoft Azure microsoft.com
  2. Azure Cosmos DB documentation - Azure Cosmos DB | Microsoft Learn microsoft.com
  3. A technical overview of Azure Cosmos DB | Microsoft Azure Blog microsoft.com Dead — Check Archive
Revision #9 Last Updated: