1. 程式人生 > 其它 >mongodb 範圍與雜湊分片使用

mongodb 範圍與雜湊分片使用

e. 使用分片叢集

##RANGE分片配置及測試
test庫下的vast大表進行手工分片

1、啟用資料庫分片功能
mongo --port 38017 admin
admin> ( { enablesharding : "資料庫名稱" } )

eg:
admin> db.runCommand( { enablesharding : "test" } )

2、指定分片建對集合分片
eg:範圍片鍵
--建立索引
use test
> db.vast.ensureIndex( { id: 1 } )

--開啟分片
use admin
> db.runCommand( { shardcollection : "test.vast",key : {id: 1} } )

3、集合分片驗證
admin> use test

test> for(i=1;i<500000;i++){ db.vast.insert({"id":i,"name":"shenzheng","age":70,"date":new Date()}); }

test> db.vast.stats()

4、分片結果測試

shard1:
mongo --port 38021
db.vast.count();


shard2:
mongo --port 38024
db.vast.count();

----------------------------------------------------
f. Hash分片例子:
對test庫下的vast大表進行hash
建立雜湊索引
(1)對於bigdata開啟分片功能
mongo --port 38017 admin
use admin
admin> db.runCommand( { enablesharding : "bigdata" } )

(2)對於test庫下的vast表建立hash索引
use bigdata
test> db.vast.ensureIndex( { id: "hashed" } )
(3)開啟分片
use admin
admin > sh.shardCollection( "bigdata.vast", { id: "hashed" } )

(4)錄入10w行資料測試
use bigdata
for(i=1;i<500000;i++){ db.vast.insert({"id":i,"name":"shenzheng","age":70,"date":new Date()}); }

(5)hash分片結果測試
mongo --port 38021
use test
db.vast.count();

mongo --port 38024
use test
db.vast.count();