使用 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 多个区域进行统包式全局分发。 支持在全球各地随时进行服务托管和手动故障转移。 |
索引 | 仅 PartitionKey 和 RowKey 上的主要索引。 没有辅助索引。 |
自动对所有属性完成编制索引,没有索引管理。 |
查询 | 执行查询时使用主键的索引,否则进行扫描。 | 查询可以利用属性的自动索引缩短查询时间。 |
一致性 | 在主要区域内实现强一致性。 在辅助区域内实现最终一致性。 | 五个定义完善的一致性级别可基于应用程序需要权衡可用性、延迟、吞吐量和一致性。 |
定价 | 基于使用量。 | 提供基于使用量和预配容量两种模式。 |
SLA | 99.99% 可用性。 | 在公开发布时,为所有单区域帐户和具有松散一致性的所有多区域帐户提供 99.99% 的可用性 SLA,为所有多区域数据库帐户提供 99.999% 的读取可用性方面的行业领先的综合 SLA。 |
Azure SDK
当前版本
以下 SDK 包同时适用于 Azure Cosmos DB for Table 和表存储。
以前的版本
以下 SDK 包仅适用于 Azure Cosmos DB for Table。
.NET NuGet 上提供的 Azure.Data.Tables。 Azure 表客户端库可以无缝面向表存储或 Azure Cosmos DB for Table 服务终结点,无需更改代码。
Python。 PyPi 中提供的 azure-cosmosdb-table。 此 SDK 可连接表存储和 Azure Cosmos DB for Table。
JavaScript/TypeScript。 npm.js 中提供的 azure-storage 包。 此 Microsoft Azure 存储 SDK 能够使用表 API 连接到 Azure Cosmos DB 帐户。
Java。 Maven 上用于 Java 的 Azure 存储客户端 SDK。 此 Microsoft Azure 存储 SDK 能够使用表 API 连接到 Azure Cosmos DB 帐户。
C++。 适用于 C++ 的 Azure 存储客户端库。 此库使你能够针对 Azure 存储构建应用程序。
Ruby。 适用于 Ruby 的 Azure 存储表客户端库。 此项目提供了一个 Ruby 包,使用该包可轻松访问 Azure 存储表服务。
PHP。 Azure 存储表 PHP 客户端库。 此项目提供了一个 PHP 客户端库,使用该库可轻松访问 Azure 存储表服务。
PowerShell。 AzureRmStorageTable PowerShell 模块。 此 PowerShell 模块包含 cmdlet 以使用存储表。