为什么单独使用ID作为分区键是不够的?

问题描述 投票:0回答:1

在我的应用程序(主要是面向读取的)中,我没有设置任何分区键,因此默认情况下它将使用 id 作为分区键。根据图表,我们有一个热分区。

所有集合的存储(达到Max RU的集合是第二个集合,149.7 MiB第一个)

为什么单独使用ID作为分区键是不够的?我认为 id 是唯一的,并且它会均匀地缩放。

azure azure-cosmosdb
1个回答
0
投票

这不是热分区。热分区是指一个或几个分区与其他分区相比使用大量 RU。在您的情况下,您的数据非常少,以至于所有逻辑分区都驻留在单个物理分区中。因此它不是热分区;它只是一个分区,可实现大部分 RU 吞吐量。

id
作为分区键也没有问题。最好有一个属性可以充当您经常查询的分区键。如果您没有适合使用
id
作为分区键的属性,那根本没有问题。根据定义,
id
分区键应该不太可能导致热分区,因为一旦您的集合变得足够大以导致拆分,您的项目就会在物理分区之间“随机”拆分。

© www.soinside.com 2019 - 2024. All rights reserved.