基于Mongodb进行分布式数据存储
????? > db.runCommand( { addshard : "10.0.4.85:27021", allowLocal : 1, minKey:1000} )
???????? { "shardAdded" : "shard0001", "ok" : 1 }??????
???????? ?注:如果要移除sharding,可用下面写法
????????? db.runCommand( { removeshard : "localhost:10000" } );
?
????? > db.runCommand({listshards:1});???查看shard节点列表?????
??????? 注:一旦enable了个数据库,mongos将会把数据库里的不同数据集放在不同的分片上。除非数据集被分片(下面会设置),否则一个数据集的所有数据将放在一个分片上。??????
????? 可以看到数据被按区间自动分割开了,有点像sqlserver的数据分区表,只不过这是自动完成的(目前我没找到可以手工指定区间上下限的方式,如有知道的TX可以跟我说一下)。当然在本文中的测试中,共有5个chunk,其中4个位于shard0001,这种情况可以在每次测试过程中会发生变化,包括两个sharding被分配的记录数。另外就是在mongodb移动过程前后会在shard0000上生成一个文件夹,里面包括一些bson文件,名字形如(表格+日期等信息):
?????? post-cleanup.2010-09-07T04-13-31.1.bson
????? 该文件主要包括一些数据库,表结构及相关记录等信息,我想应该是用于数据恢复备份啥的。
?
????? 好的,今天的内容就先到这里了。