你正在设计一个 Azure Cosmos DB (SQL API) 容器,该容器将包含数百万个文档,每个文档都有许多属性,并且没有单个属性可以提供明确的分区键。为了随着时间的推移均匀地分配跨分区的流量,以下哪两种分区键方法是可接受的?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 多个属性值的串联,并附加一个随机后缀, 附加到属性值的哈希后缀.
为什么这是答案
在没有明确分区键的情况下,目标是确保数据和请求均匀分布。将多个属性值连接起来并添加一个随机后缀(例如,UUID)可以有效分散数据,因为即使连接值相同,随机后缀也会创建不同的逻辑分区键,从而避免热分区。类似地,将哈希后缀(如文档ID的哈希值或某个属性的哈希值)附加到属性值上,也能实现类似效果,将数据和请求分散到更多逻辑分区,防止单个分区过载。不经常出现的单个属性值会导致数据分布不均,因为许多文档将共享相同或空的键。包含集合名称的值在所有文档中都相同,无法实现分区。经常出现的单个属性值会导致热分区,因为许多文档会集中在少数几个分区键上。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡