Microsoft Fabric 中的 Cosmos DB 中的请求单位

Microsoft Fabric 报告所有使用情况和计费时使用容量单位。 Microsoft Fabric 中的 Cosmos DB 内部将所有数据库操作的成本标准化为请求单位(RU),并基于吞吐量(每秒请求单位数,RU/秒)来测量成本。 然后,Cosmos DB 中的 RU/s 会转换为 Fabric 中的 CU,以便进行使用和计费。

请求单元是一种性能货币,用于抽象化系统资源,例如处理(CPU)、输入/输出作(IOPS),以及执行 Fabric 中 Cosmos DB 支持的数据库作所需的内存。 无论数据库操作是写入、点读取还是查询,都始终以 RU 来度量操作。

例如,“点读取”是用于表示通过其 ID 和分区键值获取单个项目的名称。 1 KB 项的点读取相当于一个请求单位(RU)。

可以将常见的数据库操作分类为特定类型,并合理假设每种操作类型消耗的请求单位数量。

操作 DESCRIPTION
读取操作 消耗一个 RU
插入操作 使用可变数量的 RU
更新插入操作 使用可变数量的 RU
删除操作 使用可变数量的 RU
查询操作 使用可变数量的 RU,可能比点操作更多

说明各种数据库操作以及它们如何使用请求单位的示意图。

该图以直观方式将资源使用情况框连接到数据库操作,说明每个操作都根据其资源要求消耗请求单位 (RU)。

为了管理和规划容量,Fabric 中的 Cosmos DB 可确保在给定数据集上给定数据库操作的请求单位(RU)数量是确定的。 可以检查响应头来跟踪任何数据库操作消耗的 RU 数。 了解影响 RU 费用的因素以及应用程序吞吐量要求后,可以经济高效地运行应用程序。 下一部分详细介绍了前面提到的影响 RU 消耗的因素。

注意事项

在估计你的工作负荷消耗的 RU 数量时,请考虑以下因素:

  • 项大小:随着项的增大,读取或写入该项所要消耗的 RU 数也会增加。

  • 项索引:默认情况下会自动为每个项创建索引。 如果选择不为容器中的某些项创建索引,则消耗的 RU 数将会减少。

  • 项属性计数:假设所有属性采用默认索引,写入某个项所要消耗的 RU 数会随着项属性计数的增加而增加。

  • 带索引的属性:每个容器的索引策略都可确定默认情况下要进行索引的属性类别。 若要减少写入操作的 RU 消耗,请限制带索引的属性数目。

  • 读取的类型:相较于查询,点读取消耗的 RU 更少。

  • 查询模式:查询的复杂性会影响操作使用的 RU 数。 影响查询操作成本的因素:

    • 查询结果数
    • 谓词数
    • 谓词性质
    • 用户定义的函数数目
    • 源数据的大小
    • 结果集的大小
    • 从查询投影的属性的数量和大小

    对相同数据的相同查询在重复执行时始终消耗相同数量的 RU。