Skip to content

Commit cec475f

Browse files
authored
Merge pull request #301941 from johndowns/reliability-tables-1
Reliability guide: Azure Table Storage
2 parents 018730d + ecc7dbb commit cec475f

File tree

7 files changed

+220
-5
lines changed

7 files changed

+220
-5
lines changed

articles/reliability/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,8 @@ items:
296296
href: /azure/virtual-machines/disks-high-availability?toc=/azure/reliability/toc.json&bc=/azure/reliability/breadcrumb/toc.json
297297
- name: Azure Storage Mover
298298
href: reliability-azure-storage-mover.md
299+
- name: Azure Table Storage
300+
href: reliability-storage-table.md
299301
- name: Web
300302
items:
301303
- name: Azure AI Search

articles/reliability/availability-zones-service-support.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ Some Azure services are *nonregional*, which means that you don't deploy the ser
9393
| [Azure SQL Database](/azure/azure-sql/database/enable-zone-redundancy?view=azuresql-db&preserve-view=true&toc=/azure/reliability/toc.json&bc=/azure/reliability/breadcrumb/toc.json) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
9494
| [Azure SQL Managed Instance](/azure/azure-sql/database/business-continuity-high-availability-disaster-recover-hadr-overview) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
9595
| [Azure Stream Analytics](../stream-analytics/stream-analytics-introduction.md) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
96+
| [Azure Table Storage](./reliability-storage-table.md)| :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
9697
| [Azure Ultra Disk Storage](/azure/virtual-machines/disks-enable-ultra-ssd)| | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: |
9798
| [Azure Virtual Machine Scale Sets](./reliability-virtual-machine-scale-sets.md#availability-zone-support) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: |
9899
| [Azure Virtual Machines](./reliability-virtual-machines.md#availability-zone-support) | | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: |

articles/reliability/includes/storage/reliability-storage-architecture-include.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
ms.custom: include file
1010
---
1111

12-
[Locally redundant storage (LRS)](/azure/storage/common/storage-redundancy?#locally-redundant-storage) replicates the data within your storage accounts to one or more Azure availability zones located in the primary region of your choice. Although there's no option to choose your preferred availability zone, Azure may move or expand LRS accounts across zones to improve load balancing. There's no guarantee that your data will be spread across zones. LRS provides at least 99.999999999 (11 nines) durability of objects over a given year. For more information about availability zones, see [What are Availability Zones?](../../availability-zones-overview.md).
12+
[Locally redundant storage (LRS)](/azure/storage/common/storage-redundancy?#locally-redundant-storage) replicates the data within your storage accounts to one or more Azure availability zones located in the primary region of your choice. Although there's no option to choose your preferred availability zone, Azure may move or expand LRS accounts across zones to improve load balancing. There's no guarantee that your data will be spread across zones. For more information about availability zones, see [What are Availability Zones?](../../availability-zones-overview.md).
1313

1414
:::image type="complex" source="../../media/reliability-storage/locally-redundant-storage.png" alt-text="Diagram that shows how data is replicated in availability zones by using LRS." lightbox="../../media/reliability-storage/locally-redundant-storage.png" border="false":::
1515
A blue box represents the primary region. It contains a gray box that represents the datacenter. A dark purple box inside the datacenter box represents LRS. It contains a light purple box that includes the storage account and three icons labeled copy 1, copy 2, and copy 3.

articles/reliability/overview-reliability-guidance.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ This section provides links to reliability guidance for many Azure services. Eac
115115
|Azure Storage Actions| [Reliability in Storage Actions](reliability-storage-actions.md)||
116116
|Azure Storage Mover| [Reliability in Storage Mover](reliability-azure-storage-mover.md)||
117117
|Azure Stream Analytics|| [Achieve geo-redundancy for Stream Analytics jobs](../stream-analytics/geo-redundancy.md?toc=/azure/reliability/toc.json&bc=/azure/reliability/breadcrumb/toc.json) |
118+
|Azure Table Storage| [Reliability in Azure Table Storage](reliability-storage-table.md)||
118119
|Azure Traffic Manager| [Reliability in Traffic Manager](reliability-traffic-manager.md)||
119120
|Azure Virtual Machines| [Reliability in Virtual Machines](reliability-virtual-machines.md)||
120121
|Azure VM Image Builder| [Reliability in VM Image Builder](reliability-image-builder.md)||

articles/reliability/regions-multi-region-nonpaired.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,12 @@ To achieve geo-replication in nonpaired regions:
130130

131131
- To learn about how to create multi-region solutions by using Queue Storage, see [Reliability in Queue Storage](./reliability-storage-queue.md).
132132

133+
- **For Azure Table Storage:** To learn about how to create multi-region solutions using Azure Table Storage, see [Reliability in Azure Table Storage](./reliability-storage-table.md).
134+
135+
## Azure Table Storage
136+
137+
To learn about how to create multi-region solutions using Azure Table Storage, see [Reliability in Azure Table Storage](./reliability-storage-table.md).
138+
133139
## Azure Virtual Desktop
134140

135141
For geo-replication in nonpaired regions for Azure Virtual Desktop, you need to consider session host VMs and storage for user profiles, applications, and data. Microsoft manages the Azure Virtual Desktop control plane, which is globally distributed and highly available.
Lines changed: 201 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
---
2+
title: Reliability in Azure Table Storage
3+
description: Learn about reliability in Azure Table Storage, including availability zones and multi-region deployments.
4+
ms.author: anaharris
5+
author: anaharris-ms
6+
ms.topic: reliability-article
7+
ms.custom: subject-reliability
8+
ms.service: azure-table-storage
9+
ms.date: 08/18/2025
10+
#Customer intent: As an engineer responsible for business continuity, I want to understand the details of how Azure Table Storage works from a reliability perspective and plan disaster recovery strategies in alignment with the exact processes that Azure services follow during different kinds of situations.
11+
---
12+
13+
# Reliability in Azure Table Storage
14+
15+
[Azure Table Storage](/azure/storage/tables/table-storage-overview) is a service that stores structured NoSQL data in the cloud, providing a key/attribute store with a schemaless design. A single table can contain entities that have different sets of properties, and properties can be of various data types.
16+
17+
Azure Table Storage provides several reliability features through the underlying Azure Storage platform. As part of Azure Storage, Table Storage inherits the same redundancy options, availability zone support, and geo-replication capabilities that ensure high availability and durability for your table data.
18+
19+
This article describes reliability and availability zones support in Azure Table Storage. For a more detailed overview of reliability in Azure, see [Azure reliability](/azure/reliability/overview).
20+
21+
> [!NOTE]
22+
> Azure Table Storage is part of the Azure Storage platform. Some of the capabilities of Table Storage are common across many Azure Storage services. In this document, we use "Azure Storage" to indicate these common capabilities.
23+
24+
## Production deployment recommendations
25+
26+
For production environments:
27+
28+
- Enable zone-redundant storage (ZRS) for the storage accounts that contain Table Storage resources. ZRS provides higher availability by replicating your data synchronously across multiple availability zones in the primary region, protecting against availability zone failures.
29+
30+
- If you need resilience to region outages and your storage account's primary region is paired, consider enabling geo-redundant storage, which replicates data asynchronously to the paired region. In supported regions, you can combine geo-redundancy with zone redundancy by using GZRS.
31+
32+
- For high-scale production workloads, or if you have high resiliency requirements, consider using [Azure Cosmos DB for Table](/azure/cosmos-db/table/introduction). Azure Cosmos DB for Table is compatible with applications that are written for Azure Table Storage. It supports low latency read and write operations at high scale, strong global distribution across multiple regions with flexible consistency models, built-in backup, and a range of other capabilities that enhance your application's resiliency and performance.
33+
34+
## Reliability architecture overview
35+
36+
Azure Table Storage operates as a distributed NoSQL database within the Azure Storage platform infrastructure. The service provides redundancy through multiple copies of your table data, with the specific redundancy model depending on your storage account configuration.
37+
38+
[!INCLUDE [Storage - Reliability architecture overview](includes/storage/reliability-storage-architecture-include.md)]
39+
40+
## Transient faults
41+
42+
[!INCLUDE [Transient fault description](includes/reliability-transient-fault-description-include.md)]
43+
44+
[Azure Table Storage client libraries and SDKs](https://devblogs.microsoft.com/azure-sdk/announcing-the-new-azure-data-tables-libraries/) include built-in retry policies that automatically handle common transient failures such as network timeouts, temporary service unavailability (HTTP 503), throttling responses (HTTP 429), and partition server overload conditions. When your application encounters these transient conditions, the client libraries automatically retry operations using exponential backoff strategies.
45+
46+
To manage transient faults effectively when using Azure Table Storage:
47+
48+
- **Configure appropriate timeouts** in your Table Storage client to balance responsiveness with resilience to temporary slowdowns. The default timeouts in Azure Storage client libraries are typically suitable for most scenarios.
49+
- **Implement exponential backoff** for retry policies, especially when encountering HTTP 503 Server Busy or HTTP 500 Operation Timeout errors. Table Storage may throttle requests when individual partitions become hot or when storage account limits are approached.
50+
- **Design partition-aware retry logic** in high-scale applications. Partition-aware retry logic is a more advanced approach that considers Table Storage's partitioned architecture and distributes operations across multiple partitions to reduce the likelihood of encountering throttling on individual partition servers.
51+
52+
To learn more about the Azure Table Storage architecture and how to design resilient and high-scale applications, see [Performance and scalability checklist for Table storage](/azure/storage/tables/storage-performance-checklist).
53+
54+
## Availability zone support
55+
56+
[!INCLUDE [AZ support description](includes/reliability-availability-zone-description-include.md)]
57+
58+
Azure Table Storage is zone-redundant when deployed with ZRS configuration. Unlike LRS, ZRS guarantees that Azure synchronously replicates your table data across multiple availability zones. This configuration ensures that your tables remain accessible even if an entire availability zone becomes unavailable. All write operations must be acknowledged across multiple zones before completing, providing strong consistency guarantees.
59+
60+
Zone redundancy is enabled at the storage account level and applies to all Table Storage resources within that account. Because the setting applies to the entire storage account, you can't configure individual entities for different redundancy levels. When an availability zone experiences an outage, Azure Storage automatically routes requests to healthy zones without requiring any intervention from you or your application.
61+
62+
[!INCLUDE [Storage - Availability zone support](includes/storage/reliability-storage-availability-zone-support-include.md)]
63+
64+
### Region support
65+
66+
[!INCLUDE [Storage - Availability zone region support](includes/storage/reliability-storage-availability-zone-region-support-include.md)]
67+
68+
### Requirements
69+
70+
You must use a Standard general-purpose v2 storage account to enable zone-redundant storage for Table Storage. Premium storage accounts don't support Table Storage.
71+
72+
### Cost
73+
74+
[!INCLUDE [Storage - Availability zone cost](includes/storage/reliability-storage-availability-zone-cost-include.md)]
75+
76+
For detailed pricing information, see [Azure Table Storage pricing](https://azure.microsoft.com/pricing/details/storage/tables/).
77+
78+
### Configure availability zone support
79+
80+
- **Create a storage account and table with zone redundancy:**
81+
82+
1. [Create a storage account](/azure/storage/common/storage-account-create). Make sure to select ZRS, geo-zone-redundant storage (GZRS) or read-access geo-redundant storage (RA-GZRS) as the redundancy option.
83+
84+
1. [Create a table](/azure/storage/tables/table-storage-quickstart-portal).
85+
86+
[!INCLUDE [Storage - Configure availability zone support](includes/storage/reliability-storage-availability-zone-configure-include.md)]
87+
88+
### Normal operations
89+
90+
This section describes what to expect when a table storage account is configured for zone redundancy and all availability zones are operational.
91+
92+
[!INCLUDE [Storage - Normal operations](includes/storage/reliability-storage-availability-zone-normal-operations-include.md)]
93+
94+
### Zone-down experience
95+
96+
When an availability zone becomes unavailable, Azure Table Storage automatically handles the failover process with the following behavior:
97+
98+
[!INCLUDE [Storage - Zone down experience](includes/storage/reliability-storage-availability-zone-down-experience-include.md)]
99+
100+
- **Traffic rerouting.** If a zone becomes unavailable, Azure undertakes networking updates such as Domain Name System (DNS) repointing, so that requests are directed to the remaining healthy availability zones. The service maintains full functionality using the surviving zones with no customer intervention required.
101+
102+
### Zone recovery
103+
104+
[!INCLUDE [Storage - Zone failback](includes/storage/reliability-storage-availability-zone-failback-include.md)]
105+
106+
### Testing for zone failures
107+
108+
[!INCLUDE [Storage - Testing for zone failures](includes/storage/reliability-storage-availability-zone-testing-include.md)]
109+
110+
## Multi-region support
111+
112+
[!INCLUDE [Storage - Multi-region support introduction](includes/storage/reliability-storage-multi-region-support-include.md)]
113+
114+
[!INCLUDE [Storage - Multi-region support introduction RA-GRS addendum](includes/storage/reliability-storage-multi-region-support-read-access-include.md)]
115+
116+
[!INCLUDE [Storage - Multi-region support introduction failover types](includes/storage/reliability-storage-multi-region-support-failover-types-include.md)]
117+
118+
### Region support
119+
120+
[!INCLUDE [Storage - Multi-region support region support](includes/storage/reliability-storage-multi-region-region-support-include.md)]
121+
122+
### Requirements
123+
124+
[!INCLUDE [Storage - Multi Region Requirements](includes/storage/reliability-storage-multi-region-requirements-include.md)]
125+
126+
### Considerations
127+
128+
When implementing multi-region Azure Table Storage, consider the following important factors:
129+
130+
[!INCLUDE [Storage - Multi Region Considerations - Latency](includes/storage/reliability-storage-multi-region-considerations-latency-include.md)]
131+
132+
[!INCLUDE [Storage - Multi Region Considerations - Secondary region access (read access)](includes/storage/reliability-storage-multi-region-considerations-secondary-read-access-include.md)]
133+
134+
[!INCLUDE [Storage - Multi Region Considerations - Feature limitations](includes/storage/reliability-storage-multi-region-considerations-feature-limitations-include.md)]
135+
136+
### Cost
137+
138+
[!INCLUDE [Storage - Multi Region cost](includes/storage/reliability-storage-multi-region-cost-include.md)]
139+
140+
For detailed pricing information, see [Azure Table Storage pricing](https://azure.microsoft.com/pricing/details/storage/tables/).
141+
142+
### Configure multi-region support
143+
144+
[!INCLUDE [Storage - Multi Region Configure multi-region support - create](includes/storage/reliability-storage-multi-region-configure-create-include.md)]
145+
146+
[!INCLUDE [Storage - Multi Region Configure multi-region support - enable-disable](includes/storage/reliability-storage-multi-region-configure-enable-disable-include.md)]
147+
148+
### Normal operations
149+
150+
[!INCLUDE [Storage - Multi Region Normal operations](includes/storage/reliability-storage-multi-region-normal-operations-include.md)]
151+
152+
### Region-down experience
153+
154+
[!INCLUDE [Storage - Multi Region Down experience](includes/storage/reliability-storage-multi-region-down-experience-include.md)]
155+
156+
### Failback
157+
158+
[!INCLUDE [Storage - Multi Region Failback](includes/storage/reliability-storage-multi-region-failback-include.md)]
159+
160+
### Testing for region failures
161+
162+
[!INCLUDE [Storage - Multi Region Testing](includes/storage/reliability-storage-multi-region-testing-include.md)]
163+
164+
### Alternative multi-region approaches
165+
166+
[!INCLUDE [Storage - Alternative multi-region approaches - reasons](includes/storage/reliability-storage-multi-region-alternative-reasons-include.md)]
167+
168+
> [!NOTE]
169+
> For applications built to use Azure Table Storage, consider using [Azure Cosmos DB for Table](/azure/cosmos-db/table/introduction) instead, which supports advanced multi-region requirements, including support for nonpaired regions. Azure Cosmos DB for Table is designed to be compatible with applications built for Azure Table Storage.
170+
171+
[!INCLUDE [Storage - Alternative multi-region approaches - approach overview](includes/storage/reliability-storage-multi-region-alternative-approach-include.md)]
172+
173+
For Azure Table Storage, a multi-account approach requires you to manage data distribution, handle synchronization between tables across regions including conflict resolution, and implement custom failover logic.
174+
175+
## Backups
176+
177+
Azure Table Storage doesn't provide traditional backup capabilities like point-in-time restore. However, you can implement custom backup strategies for table data. For most solutions, you shouldn't rely exclusively on backups. Instead, use the other capabilities described in this guide to support your resiliency requirements. However, backups protect against some risks that other approaches don't. For more information, see [Redundancy, replication, and backup](./concept-redundancy-replication-backup.md).
178+
179+
If you require built-in backup capabilities, consider moving to [Azure Cosmos DB for Table](/azure/cosmos-db/table/introduction), which provides support for both periodic and continuous backups. For more information, see [Online backup and on-demand data restore in Azure Cosmos DB](/azure/cosmos-db/online-backup-and-restore).
180+
181+
For scenarios requiring data backup from Azure Table Storage, consider the following approaches:
182+
183+
- **Export by using Azure Data Factory:** Use the [Azure Data Factory connector for Azure Table Storage](/azure/data-factory/connector-azure-table-storage) to export your entities to another location. For example, you could back up each entity to a JSON file that's stored in Azure Blob Storage.
184+
185+
- **Application-level backup**: Implement custom backup logic within your applications to export critical table entities to other storage services like Azure SQL Database or Azure Cosmos DB for more robust backup and restore capabilities.
186+
187+
When designing backup strategies for Table Storage, consider the partitioned nature of the data and ensure your backup processes can handle large tables efficiently by processing multiple partitions in parallel.
188+
189+
## Service-level agreement
190+
191+
[!INCLUDE [Storage - SLA](includes/storage/reliability-storage-sla-include.md)]
192+
193+
## Related content
194+
195+
- [What is Azure Table Storage?](/azure/storage/tables/table-storage-overview)
196+
- [Design scalable and performant tables](/azure/storage/tables/table-storage-design)
197+
- [Azure Storage redundancy](/azure/storage/common/storage-redundancy)
198+
- [Azure storage disaster recovery planning and failover](/azure/storage/common/storage-disaster-recovery-guidance)
199+
- [Performance and scalability checklist for Table storage](/azure/storage/tables/storage-performance-checklist)
200+
- [Azure reliability](/azure/reliability/overview)
201+
- [Recommendations for handling transient faults](/azure/well-architected/reliability/handle-transient-faults)

0 commit comments

Comments
 (0)