|
| 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