表存储

面向 Azure Storage 的开发

Shahzad Mian

Content developer, DataCamp

表存储

存储图标

面向 Azure Storage 的开发

理解表存储

  • 识别何时使用 Azure 表存储或 Cosmos DB。
  • 理解数据按表、实体、属性组织。
  • 在表中执行创建、读取、更新、删除操作。

表存储 vs CosmosDB

CRUD

面向 Azure Storage 的开发

什么是表存储?

  • Azure 表存储提供简单、无架构的结构化数据存储。
  • 非常适合轻量场景:
    • 日志
    • 物联网遥测
    • 配置设置
  • 快速、低成本,适合直接查找。
  • 无需复杂架构或关系。

数据表

关系模型图,标注"复杂连接=此处不需要"

面向 Azure Storage 的开发

何时使用表存储

  • 适用于快速、低成本访问结构化数据的简单键值查找。
  • 常见场景:
    • 存储物联网传感器读数。
    • 配置数据。
  • 更看重简单与可扩展性,而非复杂查询。

何时使用表存储

面向 Azure Storage 的开发

何时改用 Cosmos DB?

  • Cosmos DB = 高级查询、全球分发、多种 API。
    • 支持低延迟的全球复制与丰富索引。
    • 适用于大规模高性能应用。
    • 更适合需兼容 MongoDB 或 Cassandra 等 API 的场景。
  • 权衡:功能更强,成本更高。

Azure Table 与 Cosmos DB

面向 Azure Storage 的开发

数据组织

表存储示例

  • 表存储中的数据按 表 分组。
  • 每个表包含类似行的 实体。
  • 每个实体包含类似列的 属性。
  • 每个实体必须有唯一的 PartitionKey 和 RowKey。
  • 这些键使查询在规模化下仍快速高效。
面向 Azure Storage 的开发

CRUD 操作

  • 可通过以下方式执行 CRUD:
    • Azure 门户。
    • SDK 或 REST API。
    • Azure Storage Explorer。
  • 管理数据而无需关心索引或架构更新。

CRUD 操作

面向 Azure Storage 的开发

创建示例

  • 添加实体时,定义唯一的 PartitionKey 和 RowKey。
  • 客户记录示例如下:
      "PartitionKey": "CustomerA",
      "RowKey": "1001",
      "Name": "Ava",
      "Points": 120

面向 Azure Storage 的开发

查询

查询截图

面向 Azure Storage 的开发

更新与删除

  • 更新会以新值替换实体属性。

  • 删除会移除整个实体。

  • 示例命令:


table_client.update_entity(entity)
table_client.delete_entity("CustomerA","1001")
  • 是使用表存储的基础。
面向 Azure Storage 的开发

要点回顾

  • 将表存储用于简单、可扩展、低成本的结构化数据。

  • 每条记录都需要 PartitionKey 和 RowKey。

  • 需要更丰富的查询、全球复制或多数据模型时用 Cosmos DB。

  • 二者可在混合数据架构中互补。

表存储要点

含分区键与行键的表

面向 Azure Storage 的开发

Passons à la pratique !

面向 Azure Storage 的开发

Preparing Video For Download...