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 @   BNTang  阅读(122)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示