7.5.1. 分片键的选择原则 (Cardinality, Query Isolation, Write Distribution) 一、Cardinality(基数) 基数的基本概念 卡基数指的是分片键字段中的唯一值数量。较高的基数意味着该字段具有更多的唯一值,从而能够更有效地分散数据到不同的分片上。对于一个良好的分片键而言,它应该具备足够高的基数,以避免热点问题和数据倾斜。 示例: 假设我们有一个包含用户信息的集合 ,其中每个文档都有以下结构: 如果选择 作为分片键,由于 是由MongoDB自动生成的唯一标识符,它的基数非常高,适合用作分片键。 实践操作: 我们可以使用MongoDB的命令来验证某个字段的基数。