ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mongodb 系列~ chunk原理

2021-08-13 18:03:20  阅读:228  来源: 互联网

标签:系列 moveChunk mongodb chunk 64M balancer 分片 迁移


一 定义    1 基本单位为chunk,chunk中包含数条doc记录.chunk默认大小是64M,写满后就生成新的chunk    2 存在chunk超过64M的情况,单条doc记录大小超过64M,被称为big chunk,需要手动进行拆分 二 负责进程     3.2 版本 balancer 在 mongos 4.0 版本 balancer 在 config moveChunk 过程和删除数据的逻辑基本没有差 三 拆分阈值     4.0 以上版本,chunks 数量差距大于 2 的时候就会发生迁移, balance 认为是不均衡的,会发生迁移.我们可以发现,高版本mongo会产生更加频繁的迁移,可能消耗更多的资源 四 拆分流程    1 原分片开始启动moveChunk命令,在移动的过程中,所有的操作还会指向原来的分片    2 目标分片开始创建所需要的索引,在3.0以后,moveChunk需要在移动之前,目标分片中存在所有的索引,可以理解为先在目标分片中创建这个索引。    3 目标分片开始向原分片请求数据,并复制数据    4 当数据全部写入到目标分片中,目标分片连接并更新config数据库对应的块信息    5 原分片将这部分块数据进行异步删除。 五 迁移-性能影响    1  moveChunk 可能对系统的负载产生影响,主要是删除数据阶段的影响,一般迁移中的插入数据影响较小; 六 平衡器设置     创建窗口期,平时关闭balance,在业务低峰期开启(move chunk的消耗资源很大,建议这样做)     use config     db.settings.update({ _id : "balancer" }, { $set : { activeWindow : { start : "23:00", stop : "6:00" } } }, true )     取消时间窗口设置:     db.settings.update({ _id : "balancer" }, { $unset : { activeWindow : true } })

标签:系列,moveChunk,mongodb,chunk,64M,balancer,分片,迁移
来源: https://www.cnblogs.com/danhuangpai/p/15138519.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有