本文中的内容适用于原始的 Azure 表存储。 不过,相同概念也适用于较新的 Azure Cosmos DB for Table,后者提供更高的性能和可用性、全局分布和自动辅助索引。 它还可用于基于使用量的 无服务器 模式。 Azure Cosmos DB 中的表 API 和 Azure 表存储之间存在某些 功能差异 。 有关详细信息,请参阅 Azure Cosmos DB for Table 。 为了便于开发,我们现在提供统一的 Azure 表 SDK ,它可用于同时面向 Azure 表存储和 Azure Cosmos DB for Table。

Azure 表存储是一项用于在云中存储非关系结构化数据(也称为结构化 NoSQL 数据)的服务,通过无架构设计提供键/属性存储。 因为表存储无架构,因此可以很容易地随着应用程序需求的发展使数据适应存储。 对于许多类型的应用程序来说,访问表存储数据速度快且经济高效,在数据量相似的情况下,其成本通常比传统 SQL 要低。

可以使用表存储来存储灵活的数据集,例如 Web 应用程序的用户数据、通讯簿、设备信息,或者服务需要的其他类型的元数据。 可以在表中存储任意数量的实体,并且一个存储帐户可以包含任意数量的表,直至达到存储帐户的容量极限。

什么是表存储

Azure 表存储可存储大量结构化数据。 该服务是一个 NoSQL 数据存储,接受来自 Azure 云内部和外部的通过验证的呼叫。 Azure 表最适合存储结构化非关系型数据。 表存储的常见用途包括:

  • 存储 TB 量级的结构化数据,能够为 Web 规模应用程序提供服务
  • 存储无需复杂联接、外键或存储过程,并且可以对其进行非规范化以实现快速访问的数据集
  • 使用聚集索引快速查询数据
  • 使用 OData 协议和 LINQ 查询以及 WCF 数据服务 .NET 库访问数据
  • 可以使用表存储来存储和查询大型结构化非关系型数据集,并且表会随着需求的增加而扩展。

    表存储概念

    表存储包含以下组件:

  • URL 格式: Azure 表存储帐户使用此格式: http://<storage account>.table.core.windows.net/<table>

    Azure Cosmos DB for Table 帐户使用此格式: http://<storage account>.table.cosmosdb.azure.com/<table>

    可以直接使用此地址和 OData 协议来访问 Azure 表。 有关详细信息,请参阅 OData.org

  • 帐户: 对 Azure 存储进行的所有访问都要通过存储帐户完成。 有关存储帐户的详细信息,请参阅 存储帐户概述

    对 Azure Cosmos DB 的所有访问都通过 Azure Cosmos DB for Table 帐户来完成。 有关详细信息,请参阅 创建 Azure Cosmos DB for Table 帐户

  • Table :表是实体的集合。 表不对实体强制实施架构,这意味着单个表可以包含具有不同属性集的实体。

  • 实体 :与数据库行类似,一个实体就是一组属性。 Azure 存储中的实体大小最大可以为 1MB。 Azure Cosmos DB 中的实体大小最大可以为 2MB。

  • 属性 :属性是名称/值对。 每个实体最多可包含 252 个用于存储数据的属性。 每个实体还具有三个系统属性,分别指定分区键、行键和时间戳。 对具有相同分区键的实体的查询速度将更快,并且可以在原子操作中插入/更新这些实体。 一个实体的行键是它在一个分区内的唯一标识符。

    有关命名表和属性的详细信息,请参阅 了解表服务数据模型

  • Microsoft Azure 存储资源管理器 是 Microsoft 免费提供的独立应用,适用于在 Windows、macOS 和 Linux 上以可视方式处理 Azure 存储数据。

  • .NET 中的 Azure 表存储入门

  • 查看表服务参考文档,了解有关可用 API 的完整详情:

  • .NET 存储客户端库参考

  • REST API 参考

  •