Welcome to Azure Cosmos DB
Today’s applications are required to be highly responsive and always online. To achieve low latency and high availability, instances of these applications need to be deployed in datacenters that are close to their users. Applications need to respond in real time to large changes in usage at peak hours, store ever increasing volumes of data, and make this data available to users in milliseconds.
Azure Cosmos DB is Microsoft's globally distributed, multi-model database service. With the click of a button, Azure Cosmos DB enables you to elastically and independently scale throughput and storage across any number of Azure's geographic regions. You can elastically scale throughput and storage, and take advantage of fast, single-digit-millisecond data access using your favorite API among SQL, MongoDB, Cassandra, Tables, or Gremlin. Cosmos DB provides comprehensive service level agreements (SLAs) for throughput, latency, availability, and consistency guarantees, something no other database service can offer.
You can Try Azure Cosmos DB for Free without an Azure subscription, free of charge and commitments.
Turnkey global distribution
Cosmos DB enables you to build highly responsive and highly available applications worldwide. Cosmos DB transparently replicates your data wherever your users are, so your users can interact with a replica of the data nearest to them.
Cosmos DB allows you to add or remove any of the Azure regions to your Cosmos account at any time, with a click of a button. Cosmos DB will seamlessly replicate your data to all the regions associated with your Cosmos account while your application continues to be highly available thanks to the multi-homing capabilities of the service.
For more information, see the global distribution article.
By virtue of deep integration with Azure infrastructure and transparent multi-master replication, Cosmos DB provides 99.999% high availability for both reads and writes. Cosmos DB also provides you with the ability to programmatically (or via Portal) invoke the regional failover of your Cosmos account. This capability helps you ensure that while a Cosmos database may automatically failover, the rest of your application is also designed to failover if there is a regional disaster.
Elastic scalability of throughput and storage, worldwide
Designed with transparent horizontal partitioning and multi-master replication, Cosmos DB offers unprecedented elastic scalability for your writes and reads, all around the globe. You can elastically scale up from thousands to hundreds of millions of requests/sec around the globe, with a single API call and pay only for the throughput (and storage) you need. This capability helps you to deal with unexpected spikes in your workloads without having to over-provision for the peak. See partitioning in Cosmos DB, provisioned throughput on containers and databases, and scaling provisioned throughput globally.
Guaranteed low latency at 99th percentile, worldwide
Using Cosmos DB, you can build highly responsive, planet scale applications. With its novel multi-master replication protocol and latch-free and write-optimized database engine, Cosmos DB guarantees less than 10-ms latencies for both, reads and (indexed) writes at the 99th percentile, all around the world. This capability enables sustained ingestion of data and blazing-fast queries for highly responsive apps.
Precisely defined, multiple consistency choices
You no longer have to make extreme tradeoffs between consistency, availability, latency, and programmability. Cosmos DB’s multi-master replication protocol is carefully designed to offer five well-defined consistency choices - strong, bounded staleness, consistent-prefix, session, and eventual — for an intuitive programming model with low latency and high availability for your globally distributed application.
No schema or index management
Keeping database schema and indexes in-sync with an application’s schema is especially painful for globally distributed apps. However, with Cosmos DB, you do not need to deal with schemas or indexes. The database engine is fully schema-agnostic. Since no schema and index management is required, you also don’t have to worry about application downtime while migrating schemas. Cosmos DB automatically indexes all data – no schema, no indexes required – and serves queries fast.
Battle tested database service
Cosmos DB is a foundational service on Azure. For nearly a decade, Cosmos DB has been used by many of Microsoft’s products for mission critical applications at global scale including Skype, Xbox, Office 365, Azure, and many others. Today, Cosmos DB is one of the fastest growing services on Azure used by many external customers and applications that require elastic scale and/or turnkey multi-datacenter/multi-region, multi-master replication for low latency and high availability of both reads and writes.
Ubiquitous regional presence
Cosmos DB is available in all Azure regions worldwide, including 54+ regions in public cloud, Azure China 21Vianet, Azure Germany, Azure Government, and Azure Government for Department of Defense(DoD). See Cosmos DB’s regional presence.
Secure by default and enterprise ready
Cosmos DB is certified for a wide array of compliance standards. Additionally, all data in Cosmos DB is encrypted at rest and in motion. Cosmos DB provides row level authorization and adheres to strict security standards.
Significant TCO savings
Since Cosmos DB is a fully managed service, you no longer need to manage and operate complex multi datacenter deployments and upgrades of your database software, pay for the support, licensing, or operations. See Optimize cost with Cosmos DB.
Industry leading comprehensive SLAs
Cosmos DB is the first and only service to offer industry-leading comprehensive SLAs encompassing 99.999% high availability, read and write latency at the 99th percentile, guaranteed throughput, and consistency.
Apache Spark + Cosmos DB = operational analytics at global scale
You can run Spark on data stored in Cosmos DB. This capability allows you to do low-latency, operational analytics at global scale without impacting transactional workloads operating directly against Cosmos DB.
Develop applications for Cosmos DB using popular NoSQL APIs
Cosmos DB offers a choice of APIs to update and query your data stored in your Cosmos database. By default, you can use SQL to update and query your data in your Cosmos database.
Cosmos DB also implements Cassandra, MongoDB, Gremlin and Azure Table Storage wire protocols directly on the service. This enables you to point client drivers (and tools) for the commonly used NoSQL APIs directly to your Cosmos database. By supporting wire protocols of commonly used NoSQL APIs, Cosmos DB allows you to:
- Easily migrate your application to Cosmos DB while preserving significant portions of your application logic.
- Keep your application portable and continue to remain cloud vendor-agnostic.
- Get industry leading, financially backed SLAs for the common NoSQL APIs.
- Elastically scale the provisioned throughput and storage for your databases based on your need and pay only for the throughput and storage you need. This leads to significant cost savings.
Solutions that benefit from Azure Cosmos DB
Any web, mobile, gaming, and IoT application that needs to handle massive amounts of data, reads, and writes at a global scale with near-real response times for a variety of data will benefit from Azure Cosmos DB's guaranteed high availability, high throughput, low latency, and tunable consistency. Learn about how Azure Cosmos DB can be applied to IoT and telematics, Retail and marketing, Gaming and Web and mobile applications.
Get started with Azure Cosmos DB with one of our quickstarts: