【发布时间】:2020-08-02 10:44:52
【问题描述】:
我正在尝试为 CosmosDB 表确定最佳分区键,该表同时具有客户 ID(每个客户的唯一值)和客户城市(在北美,这会产生数千个可能的值)。
阅读 Azure 文档后,我看到了很多相互矛盾的信息,其中一个是最好的。一些文档指定越独特的值将提供更好的跨分区项目分布。而其他文件则表明最好使用城市。
所以我的问题是:
-
每个分区键是否都经过哈希处理,每个分区是否包含具有一系列哈希键的项目?即 - 如果客户 ID 是分区键,一个分区的 ID 是否为 1 到 1000,另一个分区的 ID 为 1000 到 2000,等等?城市也是一样,一个分区会有多个城市吗?或者,每个分区是否会 1:1 映射到特定的分区键 - 即 ID 或城市?
-
基于上述,哪一个会更好(性能更高,成本更低)?拥有尽可能精细的分区键(id 客户 ID)?还是客户城市?
谢谢!
【问题讨论】:
-
没有人能告诉您什么最适合您的特定应用。每条记录都有一个分区不会给您带来任何好处,如果您必须进行跨分区查询,可能会导致问题
标签: azure-cosmosdb