使用 Azure Cosmos DB for Table 和 Azure 表存储进行开发

适用对象:

Azure Cosmos DB for Table 和 Azure 表存储通过其 SDK 共享相同的表数据模型,并公开相同的创建删除更新查询操作。

注意

无服务器容量模式现已在 Azure Cosmos DB API for Table 上可用。 有关详细信息,请参阅 Azure Cosmos DB 无服务器

如果当前使用 Azure 表存储,那么改用 Azure Cosmos DB for Table 可以获得以下好处:

Feature Azure 表存储 Azure Cosmos DB for Table
延迟 快速,但对延迟没有上限。 读取和写入的延迟不到 10 毫秒,在全球任何位置,对于任何规模,99% 的情况下读取延迟 < 10 毫秒,写入延迟 < 15 毫秒。
吞吐量 可变吞吐量模型。 表的可伸缩性上限为每秒 20,000 个操作。 使用 SLA 支持的每个表专用保留吞吐量实现高度可缩放。 帐户没有吞吐量上限,在预配的吞吐量模式下,每个表每秒支持 >1000 万个操作。
全球分布 具有一个高可用性可选可读辅助读取区域的单一区域,支持自动和手动帐户故障转移。 从 1 个到 30 多个区域进行统包式全局分发。 支持在全球各地随时进行服务托管和手动故障转移
索引 PartitionKeyRowKey 上的主要索引。 没有辅助索引。 自动对所有属性完成编制索引,没有索引管理。
查询 执行查询时使用主键的索引,否则进行扫描。 查询可以利用属性的自动索引缩短查询时间。
一致性 在主要区域内实现强一致性。 在辅助区域内实现最终一致性。 五个定义完善的一致性级别可基于应用程序需要权衡可用性、延迟、吞吐量和一致性。
定价 基于使用量。 提供基于使用量预配容量两种模式。
SLA 99.99% 可用性。 在公开发布时,为所有单区域帐户和具有松散一致性的所有多区域帐户提供 99.99% 的可用性 SLA,为所有多区域数据库帐户提供 99.999% 的读取可用性方面的行业领先的综合 SLA

Azure SDK

当前版本

以下 SDK 包同时适用于 Azure Cosmos DB for Table 和表存储。

语言 程序包 源代码
.NET NuGet | Azure.Data.Tables azure-sdk-for-net/sdk/tables/Azure.Data.Tables
Python PyPI | azure-data-tables azure-sdk-for-python/sdk/tables/azure-data-tables
JavaScript/TypeScript npm | @azure/data-tables azure-sdk-for-js/sdk/tables/data-tables
Java Maven | azure-data-tables azure-sdk-for-java/sdk/tables/azure-data-tables
Go pkg.go.dev | aztables azure-sdk-for-go/sdk/data/aztables
C++ vcpkg | azure-data-tables-cpp azure-sdk-for-cpp/sdk/tables/azure-data-tables

以前的版本

以下 SDK 包仅适用于 Azure Cosmos DB for Table。

后续步骤