MongoDB-分片片键

?> 那么紧接着上一篇的文章内容,如何将数据存储到不同的分片服务器上的? 答:通过分片片键

什么是分片片键

  • 可以将文档的一个或多个字设置成分片片键
  • 设置完分片片键后, MongoDB 会自动对字段可能的取值进行划分, 划分出一个个的数据段
  • 划分完数据段之后, MongoDB 会自动决定哪些分片服务器保存哪些数据段对应的数据

例如:{name:'BNTang', age: 33}

  age:min    20     40     60     80    age:max
     |-------|------|------|------|------|

 分片服务器1      分片服务器2       分片服务器3
|-----------|    |-----------|     |-----------|
|   min-20  |    |   80-max  |     |   40-60   |
|   20-40   |    |   60-80   |     |           |
|-----------|    |-----------|     |-----------|

!> 注意点:

  • 片键可以是一个字段也可以是多个字段
  • 只有索引字段才能设置为片键
  • 分片服务器保存哪些数据段的值是随机的, 并不是连续的
  • 数据段的划分可以使用片键的取值, 也可以使用片键取值的哈希值
posted @ 2022-10-23 11:25  BNTang  阅读(129)  评论(0)    收藏  举报