Distribute your data multiple-regionally with Azure Cosmos DB
APPLIES TO: SQL API Cassandra API Gremlin API Table API Azure Cosmos DB API for MongoDB
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. These applications are typically deployed in multiple datacenters and are called multiple-regionally distributed. Multiple-regionally distributed applications need a multiple-regionally distributed database that can transparently replicate the data anywhere in China to enable the applications to operate on a copy of the data that's close to its users.
Azure Cosmos DB is a multiple-regionally distributed database system that allows you to read and write data from the local replicas of your database. Azure Cosmos DB transparently replicates the data to all the China regions associated with your Cosmos account. Azure Cosmos DB is a multiple-regionally distributed database service that's designed to provide low latency, elastic scalability of throughput, well-defined semantics for data consistency, and high availability. In short, if your application needs fast response time anywhere in China, if it's required to be always online, and needs unlimited and elastic scalability of throughput and storage, you should build your application on Azure Cosmos DB.
You can configure your databases to be multiple-regionally distributed and available in any of the Azure China regions. To lower the latency, place the data close to where your users are. Choosing the required regions depends on the multiple-regional reach of your application and where your users are located. Cosmos DB transparently replicates the data to all the regions associated with your Cosmos account. It provides a single system image of your multiple-regionally distributed Azure Cosmos database and containers that your application can read and write to locally.
With Azure Cosmos DB, you can add or remove the regions associated with your account at any time. Your application doesn't need to be paused or redeployed to add or remove a region. Cosmos DB is available in Azure China Cloud environment available to customers:
- Azure China 21Vianet is available through a unique partnership between Microsoft and 21Vianet, one of the country's largest internet providers in China.
Key benefits of multiple-region distribution
Build multiple-regional active-active apps. With its novel multi-region writes replication protocol, every region supports both writes and reads. The multi-region writes capability also enables:
- Unlimited elastic write and read scalability.
- 99.999% read and write availability all around China.
- Guaranteed reads and writes served in less than 10 milliseconds at the 99th percentile.
As you add and remove regions to and from your Azure Cosmos account, your application does not need to be redeployed or paused, it continues to be highly available at all times.
Build highly responsive apps. Your application can perform near real-time reads and writes against all the regions you chose for your database. Azure Cosmos DB internally handles the data replication between regions with consistency level guarantees of the level you've selected.
Build highly available apps. Running a database in multiple regions around China increases the availability of a database. If one region is unavailable, other regions automatically handle application requests. Azure Cosmos DB offers 99.999% read and write availability for multi-region databases.
Maintain business continuity during regional outages. Azure Cosmos DB supports service-managed failover during a regional outage. During a regional outage, Azure Cosmos DB continues to maintain its latency, availability, consistency, and throughput SLAs. To help make sure that your entire application is highly available, Cosmos DB offers a manual failover API to simulate a regional outage. By using this API, you can carry out regular business continuity drills.
Scale read and write throughput multiple-regionally. You can enable every region to be writable and elastically scale reads and writes all around China. The throughput that your application configures on an Azure Cosmos database or a container is provisioned across all regions associated with your Azure Cosmos account. The provisioned throughput is guaranteed up by financially backed SLAs.
Choose from several well-defined consistency models. The Azure Cosmos DB replication protocol offers five well-defined, practical, and intuitive consistency models. Each model has a tradeoff between consistency and performance. Use these consistency models to build multiple-regionally distributed applications with ease.
Read more about multiple-region distribution in the following articles:
- Multiple-region distribution - under the hood
- How to configure multi-region writes in your applications
- Configure clients for multihoming
- Add or remove regions from your Azure Cosmos DB account
- Create a custom conflict resolution policy for SQL API accounts
- Programmable consistency models in Cosmos DB
- Choose the right consistency level for your application
- Consistency levels across Azure Cosmos DB APIs
- Availability and performance tradeoffs for various consistency levels