mongoDB的进阶学习
来源:互联网 发布:java stringbuilder 编辑:程序博客网 时间:2024/06/05 02:55
chunk的迁移
设置迁移的时间
chunk的迁移是通过balance进程完成的,那么向已经分片好的集合插入数据的时候,balance也开始了对chunk在shard上的均衡,
为了防止数据大量写入的时候,balance进程也有可能开始chunk的迁移.为了不影响mongod的读写性能,可以根据需求选择适宜的时间来开启balance
mongos> db.settings.update({_id:"balancer"},{$set :{activeWindow:{start:'16:30',stop:'17:00'}}},{upsert:true})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })mongos> db.settings.find(){ "_id" : "chunksize", "value" : NumberLong(64) }{ "_id" : "balancer", "activeWindow" : { "start" : "16:30", "stop" : "17:00" } }
shard tag决定chunk的分布
mongos> sh.addShardTag("middleset","普通") ## shard tagmongos> sh.addShardTag("smallset","教练")mongos> sh.addTagRange('oa.ssa',{'property':1},{'property': NumberLong("-6641278325948566169")},'教练') mongos> sh.addTagRange('oa.ssa',{'property': NumberLong("-6641278325948566169")},{'property':NumberLong("653705064769463253")},'普通')
balance 会根据shard tag 和 chunk 的key范围进行匹配进行判断,如果不匹配那么chunk开始迁移到对应的shard
moveChunk
手动对指定chunk进行迁移.
mongos> sh.moveChunk('oa.ssa',{ "property" : NumberLong("653705064769463253") },'smallset') ## db.collection , chunk key range, shard name{ "millis" : 154120, "ok" : 1 }
查看结果:
smallset:PRIMARY> db.ssa.distinct('property',{})[ "普通" ]
balance 对 chunk迁移完成后,会更新config server 中的元数据,同时会删除原shard内的chunk的旧数据.
Concurrency
http://docs.mongoing.com/manual-zh/faq/concurrency.html
0 0
- mongoDB的进阶学习
- MongoDB的菜鸟进阶xuex
- 学习笔记之MongoDB进阶(一)
- 《MongoDB权威指南》学习整理----MongoDB进阶指南
- MongoDB 的shell脚本基础进阶
- 学习MongoDB--(9-2):复制(主从复制--进阶)
- mongoDB的学习笔记
- Mongodb的学习笔记
- Node-mongoDB的学习
- Mongodb基本的学习
- MongoDB的学习笔记
- MongoDb的学习
- 关于mongodb的学习
- 对mongodb的学习
- mongodb的学习
- 学习mongodb的笔记
- MongoDB的学习一
- mongoDB的学习
- Python运算符重载
- 【所悟】【运用符号常量】
- 如何转义emoji表情,让它可以存入utf8的数据库?
- 键盘事件模态框
- Spring Boot Spring Aop初接触
- mongoDB的进阶学习
- 程序设计模式之工厂模式详解
- 新年读书计划--第一本--C和指针
- CH9 EM算法(expectation maximization) --《统计学习方法》阅读笔记
- theano tutorial -- 用theano实现逻辑回归LR(二)计算图结构
- 博科光交机使用总结
- json(PHP解析 json 方法/Javascript 解析 json 方法/ json2.js)
- emoji表情在web html上显示
- 联通炫铃注销