我正在尝试确定 CosmosDB 表的最佳分区键,该表同时具有客户 ID(每个客户的唯一值)和客户城市(在北美,会产生数千个可能的值)。
在阅读 Azure 文档时,我发现许多相互矛盾的信息,哪一个最好。一些文档指定更唯一的值将提供更好的跨分区的项目分布。而其他文件指出使用城市是最好的。
所以我的问题是:
每个分区键是否都经过哈希处理?每个分区是否包含具有一系列哈希值的键的项目?即,如果客户 ID 是分区键,那么一个分区的 ID 是否为 1 到 1000,另一个分区的 ID 为 1000 到 2000,等等?和城市一样,一个分区会不会有多个城市?或者,每个分区是否会以 1:1 的方式映射到特定分区键(即 ID 或城市)?
基于上述,哪一个更好(性能更高,成本更低)?拥有尽可能细粒度的分区键(id 客户 ID)?还是客户城市?
谢谢你!