You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/reliability/reliability-cosmos-db-nosql.md
+35-32Lines changed: 35 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,58 +13,61 @@ ms.date: 06/11/2025
13
13
14
14
# High availability (Reliability) in Azure Cosmos DB for NoSQL
15
15
16
-
17
16
This article describes high availability (reliability) support in Azure Cosmos DB for NoSQL and covers both [availability zones](#availability-zone-support), as well as [cross-region disaster recovery and business continuity](#cross-region-disaster-recovery-and-business-continuity).
18
17
18
+
## Resiliency of compute nodes
19
19
20
-
## Availability zone support
21
-
22
-
[!INCLUDE [Availability zone description](includes/reliability-availability-zone-description-include.md)]
23
-
24
-
25
-
Azure Cosmos DB is a multitenant service that manages all details of individual compute nodes transparently. You don't have to worry about any kind of patching or planned maintenance. Azure Cosmos DB guarantees [SLAs for availability](#sla-improvements) and P99 latency through all automatic maintenance operations that the system performs.
20
+
Azure Cosmos DB transparently manages all details of individual compute nodes. You don't have to worry about any kind of patching or planned maintenance. Azure Cosmos DB guarantees [SLAs for availability](#sla-improvements) and P99 latency through all automatic maintenance operations that the system performs.
26
21
27
-
Azure Cosmos DB offers:
22
+
Azure Cosmos DB automatically mitigates [replica](/azure/cosmos-db/distribute-data-globally) outages by guaranteeing at least three replicas of your data in each Azure region for your account within a four-replica quorum. This guarantee results in an RTO of 0 and an RPO of 0 for individual node outages, without requiring application changes or configurations. For information on RTO and RPO, see [What are business continuity, high availability, and disaster recovery?](./concept-business-continuity-high-availability-disaster-recovery.md#disaster-recovery).
28
23
29
-
**Individual node outage resiliency.** Azure Cosmos DB automatically mitigates [replica](/azure/cosmos-db/distribute-data-globally) outages by guaranteeing at least three replicas of your data in each Azure region for your account within a four-replica quorum. This guarantee results in an RTO of 0 and an RPO of 0 for individual node outages, without requiring application changes or configurations. When you enable zone redundancy, those replicas are distributed across multiple availability zones, providing resiliency to datacenter problems and outages.
24
+
## Availability zone support
30
25
31
-
**Zone outage resiliency.** When you deploy an Azure Cosmos DB account by using [availability zones](availability-zones-overview.md), Azure Cosmos DB provides an RTO of 0 and an RPO of 0, even in a zone outage. For information on RTO, see [What are business continuity, high availability, and disaster recovery?](./concept-business-continuity-high-availability-disaster-recovery.md#disaster-recovery).
26
+
[!INCLUDE [Availability zone description](includes/reliability-availability-zone-description-include.md)]
32
27
33
-
With availability zones enabled, Azure Cosmos DB for NoSQL supports a *zone-redundant* configuration.
28
+
Azure Cosmos DB supports *zone redundancy*. When you enable zone redundancy, Azure distributes the replicas of your data across multiple availability zones, providing resiliency to datacenter problems and outages. You can enable zone redundancy in Azure regions that supports availability zones. To see if your region supports availability zones, see the [list of supported regions](regions-list.md).
34
29
30
+
We recommend using zone redundancy in regions where it's supported, especially for single-region accounts.
35
31
36
-
### Prerequisites
32
+
### Zone redundancy and single-region accounts
37
33
38
-
- Your replicas must be deployed in an Azure region that supports availability zones. To see if your region supports availability zones, see the [list of supported regions](regions-list.md).
34
+
When you have a single-region Cosmos DB account, it's important to be resilient to problems in an availability zone. Enabling zone redundancy guards against total availability loss due to the failure of an availability zone.
39
35
40
-
- Determine whether or not availability zones add enough value to your current configuration in [Impact of using availability zones](#impact-of-using-availability-zones).
36
+
Because availability zones are physically separate and provide distinct power source, network, and cooling, the availability SLAs for Azure Cosmos DB are higher for zone-redundant accounts than accounts that don't use availability zones.
41
37
42
-
### Impact of using availability zones
38
+
### Zone redundancy and multi-region accounts
43
39
40
+
If you have a multi-region account, you can optionally enable zone redundancy on any or all of the account regions that support availability zones. Multi-region accounts can achieve high availability service-level agreements (SLAs), and enabling zone redundancy can further enhance the overall availability SLAs you achieve in those regions.
44
41
45
-
The impact of availability zones on the high availability of your Cosmos DB for NoSQL database depends on the consistency level of the account and which regions have availability zones enabled. In many cases, availability zones don’t add value or add minimal value if the account is multi-region (unless configured with strong consistency).
42
+
For multi-region accounts, the impact of zone redundancy on the availability of your Cosmos DB for NoSQL database depends on the consistency level of the account and which regions have zone redundancy enabled. Consult the table below to estimate the impact of using availability zones in your multi-region account configuration:
46
43
47
-
Consult the table below to estimate the impact of using availability zones in your current account configuration:
44
+
| Account consistency level | Regions with availability zones enabled | Impact of using availability zones|
45
+
|---|----|---|
46
+
|[Synchronous (Strong)](/azure/cosmos-db/consistency-levels#strong-consistency)| One secondary read region |**High benefit of zone redundancy.** Provides greater value because the loss of a read region in this scenario can impact write availability.|
47
+
|[Synchronous (Strong)](/azure/cosmos-db/consistency-levels#strong-consistency)| Two or more secondary read regions |**Less value of zone redundancy.** Provides marginal value because the system can leverage dynamic quorum should a read region lose availability which allows for writes to continue.|
48
+
|[Asynchronous (Bounded Staleness or weaker)](/azure/cosmos-db/consistency-levels#bounded-staleness-consistency)| One or more secondary read regions |**Less value of zone redundancy.** Provides minimal value because the SDK already provides seamless redirects for reads when a read region fails.|
49
+
| Any | All write regions and any number of secondary regions |**High benefit of zone redundancy.** Ensures greater availability for write operations for availability zone failures. |
48
50
51
+
### Cost of enabling zone redundancy
49
52
50
-
| Account consistency level | Regions with availability zones enabled| Impact of using availability zones|
51
-
|----|---|---|
52
-
|[Asynchronous (Bounded Staleness or weaker)](/azure/cosmos-db/consistency-levels#bounded-staleness-consistency)|Any number of secondary read regions.| Provides minimal value because the SDK already provides seamless redirects for reads when a read region fails.|
53
-
|[Synchronous (Strong)](/azure/cosmos-db/consistency-levels#strong-consistency)|Two or more secondary read regions| Provides marginal value because the system can leverage dynamic quorum should a read region lose availability which allows for writes to continue.|
54
-
| Synchronous (Strong) |One secondary read region| Provides greater value because the loss of a read region in this scenario can impact write availability.|
55
-
| All |Write regions and any number of secondary regions| Ensures greater availability for write operations for zonal failures. |
56
-
| All |Single region | Single region cannot benefit from multi-region failover capability. Using availability zones guards against total availability loss due to zonal failure.|
53
+
Regions where zone redundancy is enabled are charged at a 25% premium. However, the premium pricing for availability zones is waived for accounts configured with multi-region writes and/or for collections configured with autoscale mode.
57
54
55
+
Adding an additional region to Cosmos DB account typically increases your existing bill by 100% for each region. However, small variations in cost across regions exist.
58
56
57
+
For more details, see [pricing page](https://azure.microsoft.com/pricing/details/cosmos-db/autoscale-provisioned/).
59
58
60
59
### SLA improvements
61
60
62
-
Because availability zones are physically separate and provide distinct power source, network, and cooling, Availability SLAs (Service-level agreements) are higher (99.995%) than accounts with a single region (99.99%). Regions where availability zones are enabled are charged at 25% premium, while those without availability zones don't incur the premium. Moreover, the premium pricing for availability zones is waived for accounts configured with multi-region writes and/or for collections configured with autoscale mode.
63
61
64
-
Adding an additional region to Cosmos DB account typically increases existing bill by 100% (additively not multiplicatively) though small variations in cost across regions exist. For more details, see [pricing page](https://azure.microsoft.com/pricing/details/cosmos-db/autoscale-provisioned/).
62
+
To increase resiliency and availability of an Azure Cosmos DB account, you can implement a layering approach, which includes:
63
+
64
+
- Enabling zone redundancy.
65
+
- Adding one or more additional regions.
66
+
- Enabling multi-region writes.
65
67
66
-
Enabling AZs, adding additional region(s), or turning on multi-region writes can be thought as a layering approach that increases resiliency and availability of a given Cosmos DB account at each step of the way - from 4 9's availability for single region no-AZ configuration, through 4 and half 9's for single region with AZs, all the way to 5 9's of availability for multi-region configuration with the multi-region write option enabled. Please refer to the following table for a summary of SLAs for each configuration.
68
+
The layering approach protects the account at each step of the way - from 4 9's availability for a single-region configuration without zone redundancy, through 4 and half 9's for single region with zone redundancy, all the way to 5 9's of availability for multi-region configuration with the multi-region write option enabled.
67
69
70
+
The following table contains a summary of SLAs for each configuration:
68
71
69
72
|KPI|Single-region writes without availability zones|Single-region writes with availability zones|Multiple-region, single-region writes without availability zones|Multiple-region, single-region writes with availability zones|Multiple-region, multiple-region writes with or without availability zones|
To learn how to migrate your Cosmos DB account to availability zone support, see [Migrate Azure Cosmos DB for NoSQL to availability zone support](./migrate-cosmos-nosql.md)).
102
+
#### Enable availability zone support
101
103
104
+
To learn how to enable zone redundancy on your Azure Cosmos DB account, see [Migrate Azure Cosmos DB for NoSQL to availability zone support](./migrate-cosmos-nosql.md)).
102
105
103
106
## Cross-region disaster recovery and business continuity
0 commit comments