mongodb分片(七)

1.插入負載技術分片架構圖數據庫


2.片鍵的概念和用處
看下面這個普通的集合和分片後的結果服務器


3.何時用到分片呢?
3.1機器的磁盤空間不足
3.2單個的mongoDB服務器已經不能知足大量的插入操做
3.3想經過把大數據放到內存中來提升性能
4.分片步驟
4.1建立一個配置服務器
4.2建立路由服務器,而且鏈接配置服務器
路由器是調用mongos命令
4.3添加2個分片數據庫
8081和8082
4.5利用路由爲集羣添加分片(容許本地訪問)
db.runCommand({addshard:"127.0.0.1:8081",allowLocal:true})
db.runCommand({addshard:"127.0.0.1:8081",allowLocal:true})
切記以前不能使用任何數據庫語句架構


4.6打開數據分片功能,爲數據庫foobar打開分片功能
db.runCommand({"enablesharding":"foobar"})性能


4.7對集合進行分片
db.runCommand({"shardcollection":"foobar.bar","key":{"_id":1}})測試


4.8利用大數據量進行測試 (800000條) 大數據


5.查看配置庫對於分片服務器的配置存儲
db.printShardingStatus()
6.查看集羣對bar的自動分片機制配置信息
mongos> db.shards.find()
{ "_id" : "shard0000", "host" : "127.0.0.1:8081" }
{ "_id" : "shard0001", "host" : "127.0.0.1:8082" }
7.保險起見的配置服務器集羣spa


8.分片與副本集一塊兒使用3d

 

function add(){
 var i = 0;
 for(;i<200000;i++){
   db.bar.insert({"age":i+10,"name":"jim"})
 }
}

function add2(){
 var i = 0;
 for(;i<200000;i++){
   db.bar.insert({"age":12,"name":"tom"+i})
 }
}

function add3(){
 var i = 0;
 for(;i<200000;i++){
   db.bar.insert({"age":12,"name":"lili"+i})
 }
}

//查看狀態
db.printShardingStatus()

mongod --config 分片數據庫_01.confcode

dbpath = D:\sortware\mongod\03\8081
port = 8081
bind_ip = 127.0.0.1blog

mongo 127.0.0.1:8081/admin

mongod --config 分片數據庫_02.conf

dbpath = D:\sortware\mongod\03\8082
port = 8082
bind_ip = 127.0.0.1

mongo 127.0.0.1:8082/admin

mongos --port 1000 --configdb 127.0.0.1:2000

mongo 127.0.0.1:1000/admin

mongod --config 配置服務器.conf

dbpath = D:\sortware\mongod\03\config
port = 2000
bind_ip = 127.0.0.1

mongod --config 分片數據庫_01.conf

dbpath = D:\software\MongoDBDATA\08\0801
port = 8081
bind_ip = 127.0.0.1

mongo 127.0.0.1:8081/admin

mongod --config 分片數據庫_02.conf

dbpath = D:\software\MongoDBDATA\08\8082
port = 8082
bind_ip = 127.0.0.1

mongo 127.0.0.1:8082/admin

mongos --port 1000 --configdb 127.0.0.1:2000

mongo 127.0.0.1:1000/admin

mongod --config 配置服務器.conf

dbpath = D:\software\MongoDBDATA\08\configport = 2000bind_ip = 127.0.0.1

相關文章
相關標籤/搜索