chunk的遷移是通過balance程序完成的,那麼向已經分片好的集合插入資料的時候,balance也開始了對chunk在shard上的均衡,
為了防止資料大量寫入的時候,balance程序也有可能開始chunk的遷移.為了不影響mongod的讀寫效能,可以根據需求選擇適宜的時間來開啟balance
mongos> db.settings.update(,}},)
writeresult()
mongos> db.settings.find
() }
mongos> sh.addshardtag("middleset","普通") ## shard tag
mongos> sh.addshardtag("smallset","教練")
mongos> sh.addtagrange('oa.ssa',,,'教練')
mongos> sh.addtagrange('oa.ssa',,,'普通')
balance 會根據shard tag 和 chunk 的key範圍進行匹配進行判斷,如果不匹配那麼chunk開始遷移到對應的shard
手動對指定chunk進行遷移.
mongos> sh.movechunk('oa.ssa',,'smallset')
## db.collection , chunk key range, shard name
檢視結果:
smallset:primary> db.ssa.distinct('property',{})
[ "普通" ]
balance 對 chunk遷移完成後,會更新config server 中的元資料,同時會刪除原shard內的chunk的舊資料. mongodb 學習筆記 高階查詢
spring 整合mongodb 高階查詢 分組查詢 groupby groupbyresultsorg.springframework.data.mongodb.core.mongotemplate.group criteria arg0,string arg1,groupby arg2,clas...
MongoDB查詢高階
投影 對返回的結果進行篩選,返回必要的字段 db.col.find 引數為字段與值,值為1表示顯示 特殊 對於 id列缺省是顯示的,如果不顯示需要明確設定為0 mongodb查詢條件除了支援使用比較運算子之外,還支援範圍 正則 邏輯運算子 分頁 排序 統計個數等 邏輯運算子 and條件 find 方...
MongoDB高階(高階索引使用)
案例 建立文件users tags music cricket blogs name clound 索引陣列字段,在陣列中建立索引,需要對陣列中的每個字段依次建立索引。所以在我們為陣列 tags 建立索引時,會為 music cricket blogs 三個值建立單獨的索引。案例 db.users....