Azure 分区vs RU

Azure 分区vs RU,azure,azure-cosmosdb,Azure,Azure Cosmosdb,场景:我们有大约80万用户在使用我们的系统。 我们需要每2周为每个用户存储5-6KB的报告。在任何时候,只有少数用户(50-100)使用该系统,可以访问报告。我认为按UserId进行“分区”是有意义的,因为数据分布非常均匀,每次查询总是在一个分区上进行 问题:我的困惑是,假设我们将5000RUS的吞吐量分配给这个集合。这些RU在所有分区中都是弹性的吗?还是始终固定为5000RUS/800000分区=0.00625 RUs/分区?它在每个物理分区之间平均共享。您所想的是逻辑分区,这是没有意义的。文

场景:我们有大约80万用户在使用我们的系统。 我们需要每2周为每个用户存储5-6KB的报告。在任何时候,只有少数用户(50-100)使用该系统,可以访问报告。我认为按UserId进行“分区”是有意义的,因为数据分布非常均匀,每次查询总是在一个分区上进行


问题:我的困惑是,假设我们将5000RUS的吞吐量分配给这个集合。这些RU在所有分区中都是弹性的吗?还是始终固定为5000RUS/800000分区=0.00625 RUs/分区?

它在每个物理分区之间平均共享。您所想的是逻辑分区,这是没有意义的。文档中不太清楚,但您可以找到类似这样的提示

这篇老文章还解释了:


尽管这篇文章已经有两年的历史了,但我找不到任何其他的说法。测试它也会得到同样的结果。

正如@nick提到的,RU是跨物理分区分配的,而不是跨逻辑分区分配的。同一物理分区中可能有一个或多个逻辑分区,但每个底层物理分区的最高容量为10GB和10000 RU

如果您已经分配了5000个RU,那么这些RU将均匀分布在分配的物理分区中。如果创建一个初始分配为5000 RU的集合,您可能会发现有5个物理分区,每个分区有1000 RU。您可以在数据库的度量刀片中检查这一点(查看单个集合的吞吐量)

当物理分区达到10GB限制或RU达到10000 RU容量时,物理分区的数量将重新调整或增加。然后在不同(或新)物理分区之间拆分逻辑分区。如果物理分区计数增加,而不增加RU,则每个分区的RU将减少一点(例如,如果从5个物理分区增加到10个物理分区,则5000 RU现在将被10路分割,而不是5路,这意味着500 RU/分区而不是1000)