- Azure Cosmos DB is a globally distributed, multi-model database.
- It enables you to elastically and independently scale throughput and storage across any number geographic regions.
- It offers throughput, latency, availability, and consistency guarantees with comprehensive service level agreements (SLAs).
- You can distribute your data to any number of Azure regions.
- Using Cosmos DB's multi-homing APIs, the app always knows where the nearest region is and sends requests to the nearest data center.
- You set your write-region and as many read-regions as you want, and the rest is handled for you.
- As you add and remove regions to your Cosmos DB database, your application does not need to be redeployed and continues to be highly available.
- Cosmos DB is designed to support Policy-Based Geo-Fencing.
- Geo-fencing ensures data governance and compliance restrictions and may prevent associating a specific region with your account.
- Examples of geo-fencing include scoping global distribution to the regions within a sovereign cloud or within a government taxation boundary.
- Parallel replication of data across partitions ensures that when a new region gets added, it is available within 30 minutes anywhere in the world (Data < 100 TBs).
Data Models and APIs
- The atom-record-sequence (ARS) based data model of Cosmos DB natively supports multiple data models:
- **SQL API:** A schema-less JSON database engine with SQL querying capabilities.
- **MongoDB API:** A scalable MongoDB-as-a-Service compatible with existing MongoDB libraries.
- **Cassandra API:** A Cassandra-as-a-Service platform compatible with existing Apache Cassandra libraries.
- **Gremlin API:** A fully managed, horizontally scalable graph database service supporting Open Graph APIs (based on the Apache TinkerPop specification).
- **Table API:** A key-value database service built to provide premium capabilities to existing Azure Table storage applications without making any app changes.
Elastically and Independently Scale Throughput and Storage