如何解决Cosmos DB-5 RU可以写吗?
在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。
解决方法
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。