答案 0 :(得分:1)
具有相同分区键的所有文档将由DocumentDB放置在同一物理分区中。因此,具有粗分区密钥(具有99个唯一存储区)的优点是针对较大集合的非主要密钥查询,即具有相同存储桶的数据具有局部性并且可以以非常低(单位数ms)延迟来查询,就像在bucket + ID上的主键查询一样。您还有一个更大的事务边界,这对于需要事务的场景可能很重要。
粗分区键的缺点是可伸缩性,就像您在问题中提到的那样。您的数据/吞吐量不能超过99个DocumentDB分区可支持的数据/吞吐量。同样由于散列(https://en.wikipedia.org/wiki/Birthday_problem)的性质,即使分区数少于99,也可能遇到偏差。也就是说,如果您的数据/吞吐量要求低端,那么99是相当合理的号。
这将有助于理解为什么您的应用程序需要两个对三个数字。您还可以通过askdocdb@microsoft.com与DocumentDB团队联系,以获得进一步的支持/讨论。