mongoDB 的分片技術 shard
mongodb的分片技術 ,是把一個數據庫中的資料,分別儲存在不同的伺服器上,從而減小單個伺服器磁碟的壓力
下面 以一個圖來說明該技術的拓補結構
二.規化
這裡我們 用兩臺機來做 shard 伺服器 (分別是:127.0.0.1:27017和127.0.0.1:27018)再用一臺來做 configsvr 伺服器(127.0.0.1:27020) ,並在其上面開啟mongos路由服務
三.實現步驟
1.開啟三臺伺服器( 兩臺shard,一臺configsvr)
>./mongod --dbpath '/home/m17' --logpath '/home/mlog/m17.log' --fork --port 27017 //shard伺服器
>./mongod --dbpath '/home/m18' --logpath '/home/mlog/m18.log' --fork --port 27018 //shard伺服器
>./mongod --dbpath '/home/m20' --logpath '/home/mlog/m20.log' --fork --prot 27020 --configsvr //最後一個選項是說明這臺伺服器是用來做configsvr
2.告知路由服務,和configsvr 建立連線(mongos 服務我們這裡指定在30000埠上,可以根據需要自已指定)
在 27020 的伺服器上開啟mongos服務,命令出下
>./mongos --logpath '/home/mlog/m30000.log' --fork --port 30000 --configdb '127.0.0.1:27020' //這裡指定了mongos的configsvr伺服器的地址
3.讓路由器mongos和shard資料庫建立連線
mongos> sh.addShard(127.0.0.1:27017) //使路由器和 shard(27017) 建立連線
mongos> sh.addShard(127.0.0.1:27018) ///使路由器和 shard(27018) 建立連線