在Cosmos DB中,物理分区在逻辑分区之间的吞吐量是如何分配的



我正试图了解Azure Cosmos DB中物理/逻辑分区与吞吐量可用性之间的关系,并对每个逻辑分区的可用吞吐量提出疑问。

物理分区的吞吐量是在其逻辑分区之间平均分配的,还是在任何逻辑分区都可以使用物理分区可用吞吐量的0-100%的意义上随机分布的

我之所以这么问,是因为我看到了相互矛盾的答案。

  1. 在Cosmos DB Conf演示Partitioning Tips for Azure Cosmos DB to Increase Performance and Save Money中,演示者提到,物理分区的可用吞吐量均匀分布在该物理分区内的所有逻辑分区中(或者至少我是这么推断的(。

  2. 然而,我引用的documentation提到了以下内容(强调我(。

如果您提供每秒18000个请求单元的吞吐量(RU/s(,则三个物理分区中的每一个可以利用提供的总吞吐量。在选定的物理分区,逻辑分区键牛肉制品,蔬菜和蔬菜产品和汤、酱汁和肉汁可以统称为,利用物理分区的6000个规定的RU/s

从文档中看,逻辑分区的大小或利用率似乎并不重要,我可能会让一些逻辑分区获得比其他分区更多的请求,但只要我没有超过物理分区的可用吞吐量,我就应该没事。这是正确的吗?

附言:这是我在这里发布的问题的第二部分:关于Cosmos DB物理和逻辑分区的一些问题。

物理分区的吞吐量是否平均分配在其逻辑分区中,还是随机分布在感觉到任何逻辑分区都可以使用0-100%的吞吐量物理分区可用吗?

吞吐量在物理分区之间平均分布。在一个物理分区中,它不是均匀地分布在逻辑分区之间。因此,每个逻辑分区可以使用分配给该物理分区的0-100%的吞吐量。如果物理分区的总利用率超过100%,则会出现节流错误。

从文档中可以看出逻辑分区其实并不重要,我可以有一些逻辑分区得到的请求比其他分区多,但只要我没有超过物理分区的可用吞吐量,我应该没事。这是正确的吗?

这是真的。逻辑分区大小很重要,这意味着它不能超过20GB。利用率也限制在10K RU/s。我们无法控制如何将逻辑分区拆分为物理分区,因此您无法真正了解逻辑分区所在的物理分区。同样,也无法确保您的吞吐量不超过物理分区的10K。这就是为什么MS建议您选择分区密钥,以便适当地平衡利用率。

最新更新