在完成自動sharding之后,可以使用mongo看一下結(jié)果:
> use dnt_mongodb switched to db dnt_mongodb > show collections posts1 system.indexes > db.posts1.stats() { "sharded" : true, "ns" : "dnt_mongodb.posts1", "count" : 161531, "size" : 195882316, "avgObjSize" : 1212.6608267143768, "storageSize" : 231467776, "nindexes" : 1, "nchunks" : 5, "shards" : { "shard0000" : { "ns" : "dnt_mongodb.posts1", "count" : 62434, "size" : 54525632, "avgObjSize" : 873.3323509626165, "storageSize" : 65217024, "numExtents" : 10, "nindexes" : 1, "lastExtentSize" : 17394176, "paddingFactor" : 1, "flags" : 1, "totalIndexSize" : 2179072, "indexSizes" : { "_id_" : 2179072 }, "ok" : 1 }, "shard0001" : { "ns" : "dnt_mongodb.posts1", "count" : 99097, "size" : 141356684, "avgObjSize" : 1426.4476623913943, "storageSize" : 166250752, "numExtents" : 12, "nindexes" : 1, "lastExtentSize" : 37473024, "paddingFactor" : 1, "flags" : 1, "totalIndexSize" : 3424256, "indexSizes" : { "_id_" : 3424256 }, "ok" : 1 } }, "ok" : 1 }
通過上面的結(jié)果,可以出現(xiàn)16萬條記錄均分在了兩個sharding上,其中shard0000中有62434條,shard0001中有99097條。下面看一下這兩個sharding-chunk的分布情況(圖中的錯誤提示‘輸入字符串格式不正確’主要因為運(yùn)行環(huán)境與編譯程序使用的環(huán)境不同,一個是64,一個是32位系統(tǒng)):
可以看到數(shù)據(jù)被按區(qū)間自動分割開了,有點像sqlserver的數(shù)據(jù)分區(qū)表,只不過這是自動完成的(目前我沒找到可以手工指定區(qū)間上下限的方式,如有知道的TX可以跟我說一下)。當(dāng)然在本文中的測試中,共有5個chunk,其中4個位于shard0001,這種情況可以在每次測試過程中會發(fā)生變化,包括兩個sharding被分配的記錄數(shù)。另外就是在mongodb移動過程前后會在shard0000上生成一個文件夾,里面包括一些bson文件,名字形如(表格+日期等信息):
該文件主要包括一些數(shù)據(jù)庫,表結(jié)構(gòu)及相關(guān)記錄等信息,我想應(yīng)該是用于數(shù)據(jù)恢復(fù)備份啥的。
好的,今天的內(nèi)容就先到這里了。
原文:http://blog.csdn.net/daizhj/archive/2010/09/07/5868360.aspx
本文鏈接:http://www.95time.cn/tech/program/2010/7953.asp
出處:CSDN
責(zé)任編輯:bluehearts
上一頁 基于Mongodb進(jìn)行分布式數(shù)據(jù)存儲 [3] 下一頁
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|