Cosmos DB

CosmosDB is a globally distributed database which supports It is used for both stream and batch workloads. Initially, it was used as a tool internal to Microsoft to run big-data workloads using a SQL like a language called Scope.

History

CosmosDB started as a successor to DocumentDB in 2006

System Architecture

Shared-Nothing

Indexes

Bw-Tree

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

Not Supported

Cosmos DB Logo
Website

https://azure.microsoft.com/en-us/services/cosmos-db/

Tech Docs

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

Developer

Microsoft

Country of Origin

US

Start Year

2016

Former Name

DocumentDB

Project Type

Commercial

Written in

C++

Supported languages

C#

Operating Systems

Windows

Licenses

Proprietary