MongoDB Chunks核心概念与机制
1. 基础定义
- Chunk(块):MongoDB分片集群中数据的逻辑存储单元,由一组连续的片键(Shard Key)范围数据组成,默认大小为64MB(可调整范围为1-1024MB)。
- 数据分布逻辑:分片集群通过记录Chunk与分片(Shard)的映射关系管理数据存储,而非直接跟踪每条数据的位置。
2. Chunk生命周期
-
初始状态
新分片的集合默认生成一个覆盖全片键范围([minKey, maxKey])的Chunk,存储在primary shard上。 -
自动分裂(Splitting)
- 触发条件:当Chunk大小超过
chunkSize(默认64MB)时,MongoDB自动将其拆分为更小的Chunk。 - 分裂规则:
- 首次分裂时,若Chunk数≤3,分裂阈值为1MB;随着Chunk数量增加,阈值逐步升高至
chunkSize3。 - 分裂后更新元数据至config server,并在mongos缓存中同步路由信息。
- 首次分裂时,若Chunk数≤3,分裂阈值为1MB;随着Chunk数量增加,阈值逐步升高至
- 触发条件:当Chunk大小超过
- 手动分裂
通过splitAt()或splitFind()函数指定片键值强制拆分,适用于预分片(Pre-splitting)优化场景。
Chunk迁移与均衡
Balancer触发迁移:当分片间Chunk数量差异≥9时,Balancer自动迁移Chunk以实现负载均衡
迁移流程
- 从源分片复制Chunk数据到目标分片。
- 更新config server元数据及mongos路由缓存。
- 删除源分片上的旧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() |
相关文章:
MongoDB Chunks核心概念与机制
1. 基础定义 Chunk(块):MongoDB分片集群中数据的逻辑存储单元,由一组连续的片键(Shard Key)范围数据组成,默认大小为64MB(可调整范围为1-1024MB)。数据分…...
决策树(Decision Tree):机器学习中的经典算法
1. 什么是决策树? 决策树(Decision Tree)是一种基于树形结构的机器学习算法,适用于分类和回归任务。其核心思想是通过一系列的规则判断,将数据集不断划分,最终形成一棵树状结构,从而实现预测目…...
高频 SQL 50 题(基础版)_1084. 销售分析 III
高频 SQL 50 题(基础版)_1084. 销售分析 III 思路 思路 select t1.product_id,product_name from Product as t1 join(select product_id,min(sale_date) as min_date,max(sale_date) as max_datefrom Salesgroup by (product_id)having 2019-01-01<…...
Python-selenium启动edge打开百度
文章目录 专栏导读1、背景2、代码总结 专栏导读 🔥🔥本文已收录于《Python基础篇爬虫》 🉑🉑本专栏专门针对于有爬虫基础准备的一套基础教学,轻松掌握Python爬虫,欢迎各位同学订阅,专栏订阅地址…...
网络安全需要掌握哪些技能?
🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 在这个高度依赖于网络的时代,网络安全已经成为我们工作和生活中不可或缺的一部分,更是0基础转行IT的首选,可谓是前景好、需求大…...
自动扶梯人员摔倒掉落识别检测数据集VOC+YOLO格式5375张2类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):5375 标注数量(xml文件个数):5375 标注数量(txt文件个数):5375 …...
中国棒球国家队征战世界棒球经典赛·棒球1号位
中国棒球国家队在世界棒球经典赛预选赛中的表现备受瞩目。以下是对中国棒球国家队参与此次预选赛的详细介绍: 一、预选赛背景与分组 • 赛事背景:世界棒球经典赛(World Baseball Classic,简称WBC)是由世界棒垒联授权&…...
重生之数据结构与算法----数组链表
简介 数据结构的本质,只有两种结构,数组与链表。其它的都是它的衍生与组合算法的本质就是穷举。 数组 数组可以分为两大类,静态数组与动态数组。静态数组的本质是一段连续的内存,因为是连续的,所以我们可以采用偏移量的…...
计算机网络常见疑问
tcpip模型没有数据链路层,那课本学的五层模型数据链路层的流量控制可靠传输是事实还是理论? 在计算机网络中,TCP/IP模型与OSI五层模型的分层差异确实容易引发疑问,尤其是关于数据链路层(五层模型)的功能是…...
C++07(继承)
文章目录 面向对象之继承继承相关概念派⽣类声明派⽣类的成员访问属性派⽣类的构造函数与析构函数 面向对象编程编程思想面向对象编程涉及到两个重要的概念类类型的定义**类中数据成员的定义**构建对象成员访问成员访问修饰符——限制成员的可见性构造函数析构函数静态成员共用…...
文件上传漏洞:upload-labs靶场1-10
目录 文件上传漏洞介绍 定义 产生原因 常见危害 漏洞利用方式 upload-labs详解 pass-01 pass-02 pass-03 pass-04 pass-05 pass-06 pass-07 pass-08 pass-09 pass-10 文件上传漏洞介绍 定义 文件上传漏洞是指网络应用程序在处理用户上传文件时,没有…...
【Python/Pytorch】-- 创建3090Ti显卡所需环境
文章目录 文章目录 01 服务器上,存在三个anaconda,如何选择合适的,创建python环境?02 conda、anaconda、cuda、cudnn区别03 用到一些指令04 如何指定cuda的版本?05 conda跟pip的区别?06 pycharm控制台07 服…...
自然语言转SQL之Vanna.ai:AI集成数据库
自然语言转SQL之Vanna.ai:AI集成数据库 一、Vanna.ai是什么二、落地步骤:实现三层需求2.1 官方示例看效果2.2 对接自己的数据库2.3 完全本地化之路 三、构建自己的产品3.1 提问转SQL3.2 执行SQL查询实例2 要实现的功能就是:用中文语言同数据库…...
【零基础到精通Java合集】第二十二集:CMS收集器详解(低延迟的里程碑)
课程标题:CMS收集器详解——低延迟垃圾回收的经典实现(15分钟) 目标:掌握CMS核心工作原理、适用场景与调优策略,理解其在高并发场景下的价值与局限性 0-1分钟:课程引入与CMS设计目标 以“高速公路不停车收费”类比CMS核心思想:在用户线程运行的同时并发回收垃圾,最大…...
2025-03-04 学习记录--C/C++-PTA 习题5-5 使用函数统计指定数字的个数
合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻 一、题目描述 ⭐️ 二、代码(C语言)⭐️ #include <stdio.h>int CountDigit( int number, int di…...
SP导入模型设置
法线贴图格式 Blender,Unity选择OpenGL UE,3DMax选择DirectX...
计算机网络——IP地址
一、IP地址是什么? 定义 IP地址是互联网协议(Internet Protocol)为每台联网设备分配的唯一标识符,由一串数字(IPv4)或字母与数字组合(IPv6)构成。 核心作用:定位设备位置…...
openharmony 软总线-设备发现流程
6.1 设备发现流程 6.1.1 Wi-Fi设备发现 6.1.1.1 Wi-Fi设备发现流程 Wi-Fi设备在出厂状态或者恢复出厂状态下,设备上电默认开启SoftAP模式,SoftAP的工作信道在1,6,11中随机选择,SoftAP的Beacon消息中携带的SSID eleme…...
零信任架构和传统网络安全模式的
零信任到底是一个什么类型的模型?什么类型的思想或思路,它是如何实现的,我们要做零信任,需要考虑哪些问题? 零信任最早是约翰金德瓦格提出的安全模型。早期这个模型也是因为在安全研究上考虑的一个新的信任式模型。他最…...
TCP/IP四层模型:从入门到精通
第一部分:基础概念 1.1 什么是TCP/IP? - TCP/IP 是互联网的基础通信协议簇,定义了数据如何在网络中传输和路由。 - 与OSI七层模型的对比:TCP/IP更简化,分为四层,注重实际应用。 1.2 四层模型结构 1. 应…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
