将 Azure Cosmos DB 用于表和 Azure 表存储

专为表和 Azure 表存储设计的 Azure Cosmos DB 使用相同的表数据模型和操作,因此可以轻松构建可扩展的应用程序。 本文介绍如何同时使用这两个服务进行高效的表存储管理。

注意

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

Azure 软件开发工具包(SDK)为多种编程语言提供库,使开发人员能够无缝地与用于表和 Azure 表存储的 Azure Cosmos DB 进行交互。

当前版本

这些 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。