Cosmos DB-5 RU可以写吗?

时间:2020-08-13 03:23:54

标签: azure-cosmosdb

在Cosmos DB的docs on optimizing operations中,列出了以下内容:

一次写入的费用,1KB = 5 RU

在什么情况下可以收取5 RU的费用?我已经非常仔细地设计了模型,以保证效率尽可能小,但我写该文件的成本始终低于9 RU。

例如,序列化为334字节JSON的项目报告针对模拟器运行的费用为9.52 RU,我在生产中看到的数量与此类似。会话一致性,没有疯狂的索引编制或任何不寻常的配置。

神话般的5 RU写入是否存在,如何获得一个?应该将更新视为写操作吗?

P.S。如果有关系,尽管我认为SDK不应该影响RU收费,但我目前正在使用.NET v4 Preview3 SDK。

1 个答案:

答案 0 :(得分:1)

RU将取决于索引,一致性,数据复制等因素 您应该能够得到

  • 1RU可供读取
  • 用于写入的5RU
  • 10RU用于更新(Upsert)
  • 5 RU forDelete

具有以下设置

  • 查询中始终具有分区键。确保您没有跨分区查询(如果可能,请共享JSON结构和分区键的选择

  • 索引编制:索引编制消耗大量RU。转到容器->设置。如果您不需要索引,则应使用以下设置将其禁用

    { “ indexingMode”:“无”, “自动”:false }

  • 数据复制:转到“设置”->“全局复制数据”。禁用多重写入区域

  • 一致性:转到“设置”->“默认一致性”。将数据一致性设置为最终。

参考:https://docs.microsoft.com/en-gb/azure/cosmos-db/request-units#request-unit-considerations