Develop with Azure Cosmos DB for Table and Azure Table Storage
APPLIES TO: Table
Azure Cosmos DB for Table and Azure Table Storage share the same table data model and expose the same create, delete, update, and query operations through their SDKs.
Note
The serverless capacity mode is now available on Azure Cosmos DB API for Table. For more information, see Azure Cosmos DB serverless.
If you currently use Azure Table Storage, you gain the following benefits by moving to Azure Cosmos DB for Table:
Feature | Azure Table Storage | Azure Cosmos DB for Table |
---|---|---|
Latency | Fast, but no upper bounds on latency. | Single-digit millisecond latency for reads and writes, backed with <10-ms latency reads and <15-ms latency writes at the 99th percentile, at any scale, anywhere in the world. |
Throughput | Variable throughput model. Tables have a scalability limit of 20,000 operations per second. | Highly scalable with dedicated reserved throughput per table that's backed by SLAs. Accounts have no upper limit on throughput and support >10 million operations per second per table in provisioned throughput mode. |
Global distribution | Single region with one optional readable secondary read region for high availability that supports automatic and manual account failover. | Turnkey global distribution from one to 30+ regions. Support for service-managed and manual failovers at any time, anywhere in the world. |
Indexing | Only primary index on PartitionKey and RowKey . No secondary indexes. |
Automatic and complete indexing on all properties, no index management. |
Query | Query execution uses index for primary key, and scans otherwise. | Queries can take advantage of automatic indexing on properties for fast query times. |
Consistency | Strong within primary region. Eventual within secondary region. | Five well-defined consistency levels to trade off availability, latency, throughput, and consistency based on your application needs. |
Pricing | Consumption-based. | Available in both consumption-based and provisioned capacity modes. |
SLAs | 99.99% availability. | 99.99% availability SLA for all single region accounts and all multi-region accounts with relaxed consistency, and 99.999% read availability on all multi-region database accounts Industry-leading comprehensive SLAs on general availability. |
Azure SDKs
Current release
The following SDK packages work with both the Azure Cosmos DB for Table and Table Storage.
Prior releases
The following SDK packages work only with Azure Cosmos DB for Table.
.NET. Azure.Data.Tables available on NuGet. The Azure Tables client library can seamlessly target either Table Storage or Azure Cosmos DB for Table service endpoints with no code changes.
Python. azure-cosmosdb-table available from PyPi. This SDK connects with both Table Storage and Azure Cosmos DB for Table.
JavaScript/TypeScript. azure-storage package available on npm.js. This Microsoft Azure Storage SDK has the ability to connect to Azure Cosmos DB accounts using the API for Table.
Java. Azure Storage Client SDK for Java on Maven. This Microsoft Azure Storage SDK has the ability to connect to Azure Cosmos DB accounts using the API for Table.
C++. Azure Storage Client Library for C++. This library enables you to build applications against Azure Storage.
Ruby. Azure Storage Table Client Library for Ruby. This project provides a Ruby package that makes it easy to access Azure storage Table services.
PHP. Azure Storage Table PHP Client Library. This project provides a PHP client library that makes it easy to access Azure storage Table services.
PowerShell. AzureRmStorageTable PowerShell module. This PowerShell module has cmdlets to work with storage Tables.