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

posted @ 2021-08-10 18:07  xiewg  阅读(349)  评论(0编辑  收藏  举报