> test = db.getSisterDB("test") //新增数据库test
> db.runCommand( { enablesharding : "test" } )
> db.runCommand( { shardcollection : "test.people", key : {name : 1} } ) //建立分片数据集people
> db.printShardingStatus(); //查看分片状态信息,会看到shards和databases的详细信息,包括刚建立的test的主分片信息和test.people的分片信息。
my chunks
{ "name" : "test", "partitioned" : true, "primary" : "10.13.127.211:18020,10.13.127.212:18020", "sharded" : { "test.people" : { "key" : { "name" : 1 }, "unique" : false } }, "_id" : ObjectId("4bd2813fbaaa646853a4b33a") }
my chunks
test.people { "name" : { $minKey : 1 } } -->> { "name" : { $maxKey : 1 } } on : 10.13.127.211:18020,10.13.127.212:18020 { "t" : 1272086852000, "i" : 1 }10.13.126.173:18020 { "t" : 1272086192000, "i" : 1 }
> use test //进入test数据库
switched to db test
> db.createCollection("user_001") //建立数据集user_001,该数据集与people数据集不一样,它不分片
{ "ok" : 1 }
> show collections //查看数据集情况
people
system.indexes
user_001
> db.people.insert({name:"sky_people",sex:"male",age:25}); //插入一条记录了
> db.people.find()
{ "_id" : ObjectId("4bbc38a39e8b5e76dcf4c5a3"), "name" : "sky_people", "sex" : "male", "age" : 25 }
> db.user_001.insert({name:"Falcon.C",sex:"male",age:25});
> db.user_001.find(); //查看记录
{ "_id" : ObjectId("4bbc371c9e8b5e76dcf4c5a2"), "name" : "sky", "sex" : "female", "age" : 25 }
>db.people.stats() //查看people数据集信息 ,刚才插入的数据放在 10.13.127.210:18020分片上
{
"sharded" : true,
"ns" : "test.people",
"count" : 1,
"size" : 72,
"storageSize" : 8192,
"nindexes" : 2,
"nchunks" : 1,
"shards" : {
"10.13.127.211:18020,10.13.127.212:18020" : {
"ns" : "test.people",
"count" : 1,
……
> db.user_001.stats() //查看user_001数据集信息
{
"sharded" : false,
"ns" : "test.user_001",
"count" : 1,
"size" : 68,
……
}
当数据量增大到一定程度的时候(貌似是64M,即一个数据块的大小),数据块chunks开始分块,由一开始的一块变成多块时,数据块chunks就会开始迁移到其他分片了。
> db.printShardingStatus(); //查看分片状态信息
{ "name" : "test", "partitioned" : true, "primary" : "10.13.127.211:18020,10.13.127.212:18020", "sharded" : { "test.people" : { "key" : { "name" : 1 }, "unique" : false } }, "_id" : ObjectId("4bbc3524314b8edcaebd990f") }
my chunks
test.people { "name" : { $minKey : 1 } } -->> { "name" : 1103 } on : 10.13.127.211:18020,10.13.127.212:18020 { "t" : 1270627397000, "i" : 1 }
test.people { "name" : 1103 } -->> { "name" : 1259408 } on : 10.13.127.211:18020,10.13.127.212:18020 { "t" : 1270627921000, "i" : 2 }
test.people { "name" : "sky_people" } -->> { "name" : { $maxKey : 1 } } on : 10.13.127.210:18020 { "t" : 1270627404000, "i" : 3 }
test.people { "name" : 20130082 } -->> { "name" : 21392803 } on : 10.13.127.210:18020 { "t" : 1270627924000, "i" : 2 }
....
>db.people.stats()
{
"sharded" : true,
"ns" : "test.people",
"count" : 3384868,
"size" : 5293932968,
"storageSize" : 5942890496,
"nindexes" : 2,
"nchunks" : 33,
"shards" : {
"10.13.127.211:18020,10.13.127.212:18020" : {
"ns" : "test.people",
"count" : 3265179,
"size" : 5106739036,
"storageSize" : 5722345728,
"numExtents" : 32,
"nindexes" : 2,
"lastExtentSize" : 960247296,
"paddingFactor" : 1,
"flags" : 1,
"totalIndexSize" : 312467456,
"indexSizes" : {
"_id_" : 177045504,
"name_1" : 135421952
},
"ok" : 1
},
"10.13.127.210:18020" : {
"ns" : "test.people",
"count" : 119689,
"size" : 187193932,
"storageSize" : 220544768,
"numExtents" : 15,
"nindexes" : 2,
"lastExtentSize" : 43281920,
"paddingFactor" : 1,
"flags" : 1,
"totalIndexSize" : 12025856,
"indexSizes" : {
"_id_" : 7159808,
"name_1" : 4866048
},
"ok" : 1
}
},
"ok" : 1
}