Azure Cosmos DB 提供了两种不同的容量模式:预配吞吐量和无服务器。 在这两种模式下,你可以执行完全相同的数据库操作,但这些操作的收费方式截然不同。
以下视频说明了这些模式之间的核心区别以及它们如何适应不同类型的工作负荷:
详细比较
| Criteria | 预配的吞吐量 | Serverless |
|---|---|---|
| 最适用于 | 具有持续流量的工作负载,需要可预测的性能 | 具有间歇性或不可预测流量且平均峰值流量比低的工作负载 |
| 工作原理 | 对于每个容器,可以配置以每秒请求单位(RU/秒)表示的一定数量的预配吞吐量。 每秒,可用于数据库操作的请求单位数量为 |
你对容器运行数据库操作,无需配置以前预配的任何容量。 |
| 地理分布 | 可用(Azure 区域数不受限制) | 不可用(无服务器帐户只能在单个 Azure 区域中运行) |
| 性能 | SLA 涵盖的点读取和写入延迟小于 10 毫秒 | 单点读取的延迟小于 10 毫秒,对于 SLO 涵盖的写入,延迟小于 30 毫秒。 |
| 计费模式 | 对于预配的 RU/s,无论消耗了多少 RU,都按每小时计费。 | 根据数据库操作所消耗的 RU 数量,按小时收费。 |
最大 RU/s 可用性取决于存储在容器中的数据。 若要了解详细信息,请参阅 Azure Cosmos DB 无服务器帐户性能。
估计预期消耗量
在某些情况下,可能不清楚是否应为给定工作负荷选择预配的吞吐量或无服务器吞吐量。 为了帮助做出此决定,可以估算总体 预期消耗量,或一个月内可能消耗的 RU 总数。
有关详细信息,请参阅 估算无服务器成本。
示例 1:一个工作负载预计会突发至最大 500 RU/秒,并在一个月内总共消耗 20,000,000 个 RU。
- 在预配吞吐量模式下,你会将容器的预配吞吐量配置为 500 RU/秒,其每月成本为:
$0.008 * 5 * 730 = $29.20 - 在无服务器模式下,需要为消耗的 RU 付费:
$0.25 * 20 = $5.00
示例 2:工作负载预计将在一个月内最大突发至 500 RU/秒,共消耗 250,000,000 个 RU。
- 在预配吞吐量模式下,你会将容器的预配吞吐量配置为 500 RU/秒,其每月成本为:
$0.008 * 5 * 730 = $29.20 - 在无服务器模式下,需要为消耗的 RU 付费:
$0.25 * 250 = $62.50
这些示例不考虑存储成本,这两种模式之间是相同的。
注释
上面示例中所示的成本仅用于演示目的。 有关最新定价信息,请参阅 定价页。