当前位置: 首页 > news >正文

MongoDB Chunks核心概念与机制

1. 基础定义
  • Chunk(块)‌:MongoDB分片集群中数据的逻辑存储单元,由一组连续的片键(Shard Key)范围数据组成,默认大小为‌64MB‌(可调整范围为1-1024MB)‌。
  • 数据分布逻辑‌:分片集群通过记录Chunk与分片(Shard)的映射关系管理数据存储,而非直接跟踪每条数据的位置‌。
2. Chunk生命周期
  1. 初始状态
    新分片的集合默认生成一个覆盖全片键范围([minKey, maxKey])的Chunk,存储在‌primary shard‌上‌。

  2. 自动分裂(Splitting)

    • 触发条件‌:当Chunk大小超过chunkSize(默认64MB)时,MongoDB自动将其拆分为更小的Chunk‌。
    • 分裂规则‌:
      • 首次分裂时,若Chunk数≤3,分裂阈值为1MB;随着Chunk数量增加,阈值逐步升高至chunkSize‌3。
      • 分裂后更新元数据至‌config server‌,并在mongos缓存中同步路由信息‌。
  3. 手动分裂

         通过splitAt()splitFind()函数指定片键值强制拆分,适用于预分片(Pre-splitting)优化场景‌。

Chunk迁移与均衡

Balancer触发迁移‌:当分片间Chunk数量差异≥9时,Balancer自动迁移Chunk以实现负载均衡‌

迁移流程

  1. 从源分片复制Chunk数据到目标分片。
  2. 更新config server元数据及mongos路由缓存。
  3. 删除源分片上的旧Chunk数据‌
关键配置与管理
配置项作用示例命令/参数来源
shardCollection为集合启用分片sh.shardCollection("db.coll", {key:1})
chunkSize定义Chunk初始大小sh.setBalancerMaxChunkSize(128)
sh.disableBalancer()临时关闭Balancer以维护sh.disableBalancer("db.coll")
sh.status()查看Chunk分布及迁移状态sh.status()

http://www.lryc.cn/news/546373.html

相关文章:

  • 决策树(Decision Tree):机器学习中的经典算法
  • 高频 SQL 50 题(基础版)_1084. 销售分析 III
  • Python-selenium启动edge打开百度
  • 网络安全需要掌握哪些技能?
  • 自动扶梯人员摔倒掉落识别检测数据集VOC+YOLO格式5375张2类别
  • 中国棒球国家队征战世界棒球经典赛·棒球1号位
  • 重生之数据结构与算法----数组链表
  • 计算机网络常见疑问
  • C++07(继承)
  • 文件上传漏洞:upload-labs靶场1-10
  • 【Python/Pytorch】-- 创建3090Ti显卡所需环境
  • 自然语言转SQL之Vanna.ai:AI集成数据库
  • 【零基础到精通Java合集】第二十二集:CMS收集器详解(低延迟的里程碑)
  • 2025-03-04 学习记录--C/C++-PTA 习题5-5 使用函数统计指定数字的个数
  • SP导入模型设置
  • 计算机网络——IP地址
  • openharmony 软总线-设备发现流程
  • 零信任架构和传统网络安全模式的
  • TCP/IP四层模型:从入门到精通
  • 二、QT和驱动模块实现智能家居-----问题汇总1
  • 10、HTTP/3有了解过吗?【中高频】
  • 基于https虚拟主机配置
  • 小白入坑向:Java 全栈系统性学习推荐路线之一
  • 云原生存储架构:构建数据永续的新一代存储基础设施
  • QTableWidget之表格列的隐藏与显示(折叠)
  • Leetcode3146. 两个字符串的排列差
  • 二百八十五、华为云PostgreSQL——建分区表并设置主键
  • 系统架构设计师-第3章 数据库设计
  • SAP MDG —— MDG on S/4HANA 2023 FPS03 创新汇总
  • 软考中级-数据库-3.2 数据结构-数组和矩阵