我对 cosmosdb 定价的理解是否正确?

Is my understanding of cosmosdb pricing correct?

我很难理解 RU/s 的定价机制是如何运作的。特别是当使用“第一”这个词时,我的困惑就出现了。

我在这里做了研究:https://devblogs.microsoft.com/cosmosdb/build-apps-for-free-with-azure-cosmos-db-free-tier/?WT.mc_id=aaronpowell-blog-aapowell

第二段提到: “启用 Azure Cosmos DB 免费套餐后,您将在帐户的整个生命周期内每月免费获得前 400 RU/s 个吞吐量和 5 GB 的存储空间。”

假设我有一个执行一个查询的应用程序,并且该 1 个查询的计算结果为 1RU。我可以安全地假设

  1. 400 位用户每秒可以免费执行一次查询?

  2. 500个用户每秒执行一次查询,我只收100RU

  3. 如果RU一直低于每秒401,则不收费

如果有任何其他我应该知道的费用,请务必提及。 IE。任何 cosmosDb 依赖项或应用服务成本计算

您可以阅读更多内容:

azure cosmos db free tier

pricing examples

你没有真正正确地考虑 RU/sec。

如果您有,比如说,400 RU/sec,那么这就是您在 one-second window 中分配的 RU 数量。它与用户数量无关(因为我怀疑您是否授予 end-users 直接访问您的 Cosmos DB 实例的权限)。

  • 如果操作仅花费 1 RU,那么是的,您应该能够在 1 秒内执行 400 个操作 window,没有问题(尽管只有一种类型的操作花费 1 RU,那是 point-read).
  • 如果您 运行 某种类型的操作使您在 1 秒内超过 400RU 配额,则该操作完成,但现在您可以说是“欠债”:您将被限制到 1 秒周期结束,并且可能会进入下一个周期(或者,取决于您进入 RU-debt 的深度,可能 few秒)。
  • 当您超过 RU/sec 配额时,您 不会 被收费。在您的示例中,您询问如果您尝试在 1 秒内消耗 500 RU 会发生什么 window,并断言您将被收取 100 RU 的费用。没有。在用完 400 RU 分配后,您将被限制。

您最终需要支付更多 RU/sec 费用的唯一方法是增加您的 RU/sec 配额。