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。