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();