我正在查看CosmosDB分区工具,到目前为止,我得到的是它对性能有好处。它确实可以帮助我们避免扇出查询,但我遇到了一个关于分区的问题。对于编写中的分区,如果我有不同类型的文档,可以是数千个文档,属于同一个分区,写入操作将很慢,但是如果我给它们不同的分区键,那么我将失去事务行为,因为存储过程的作用域是一个事务。
我的用例是,我在同一集合中有不同类型的文档,在某一特定时间,我将更新和插入数千种不同类型的文档,我必须在同一个事务中这样做,这意味着我必须使用相同的键,但是如果我这样做,那么我将执行CosmosDB中不建议的热写入操作。任何关于如何实现这一问题的帮助都将受到赞赏。
发布于 2017-10-27 21:44:21
人们使用存储过程对文档进行批处理,而现在它确实将您限制在一个分区上。但是,要注意其他限制,即您的分区键应该是这样的,这样您的文档就会在不同的分区中散开。因此,您的一个批处理可以用于一个分区键,下一个批处理可以用于另一个分区密钥。
在这里阅读更多https://learn.microsoft.com/en-us/azure/cosmos-db/partition-data
希望能帮上忙。
拉法
https://stackoverflow.com/questions/46967842
复制相似问题