大量的RU在Azure cosmos db上写入400kb-600kb的文档

时间:2020-04-08 08:32:46

标签: azure-cosmosdb azure-cosmosdb-sqlapi

这是我的azure cosmos db最后一次写入操作的日志:

enter image description here

大小在400kb至600kb之间的文档的写操作是否有这种成本?

这是我的文档(坐标列表):

enter image description here

基本上,我在一开始就认为这是一个hotPartition问题,但此后,我(希望)知道这是加载大小从400kb到600kb的文档时遇到的问题。我想了解数据库设置,索引策略或其他方面是否有问题,因为在我看来,异常情况是大约3000 ru用于加载400kb的json,而在文档中指出要加载100kb大小相同的文件大约需要50ru。基本上,要加载的文档是一条公路,因此,我不知道以什么其他方式对其进行建模。

这是我的索引编制政策:

enter image description here

感谢大家。我花了几个月的时间来解决这个问题,而没有解决方案...

1 个答案:

答案 0 :(得分:0)

很难确定摄取400KB-600KB物品的预期RU / s成本是多少。此操作的成本取决于项目的大小,索引策略以及项目本身的结构。层次结构深度越大,索引的成本就越高。

您可以通过Cosmos Capacity Calculator很好地估算出一次写入一项的成本。在计算器中,单击“登录”,剪切/粘贴您的索引策略,上传示例文档,将每秒写入数减少到1,然后单击“计算”。这应该使您付出插入单个项目的费用。

这里要注意的一件事是,如果您对少量属性进行了频繁更新,建议您将文档分成两部分。一个具有静态属性,另一个具有经常更新的属性。这样可以大大降低大型文档更新的成本。

希望这会有所帮助。