国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MongoDB > 正文

8天學會MongoDB——第六天 分片技術

2020-03-14 13:12:53
字體:
來源:轉載
供稿:網友

在mongodb里面存在另一種集群,就是分片技術,跟sql server的表分區類似,我們知道當數據量達到T級別的時候,我們的磁盤,內存

就吃不消了,針對這樣的場景我們該如何應對。

一:分片

mongodb采用將集合進行拆分,然后將拆分的數據均攤到幾個片上的一種解決方案。

MongoDB,分片技術

下面我對這張圖解釋一下:

人臉: 代表客戶端,客戶端肯定說,你數據庫分片不分片跟我沒關系,我叫你干啥就干啥,沒什么好商量的。

mongos: 首先我們要了解”片鍵“的概念,也就是說拆分集合的依據是什么?按照什么鍵值進行拆分集合....

好了,mongos就是一個路由服務器,它會根據管理員設置的“片鍵”將數據分攤到自己管理的mongod集群,數據

和片的對應關系以及相應的配置信息保存在"config服務器"上。

mongod: 一個普通的數據庫實例,如果不分片的話,我們會直接連上mongod。

二: 實戰

首先我們準備4個mongodb程序,我這里是均攤在C,D,E,F盤上,當然你也可以做多個文件夾的形式。

1:開啟config服務器

先前也說了,mongos要把mongod之間的配置放到config服務器里面,理所當然首先開啟它,我這里就建立2222端口。

MongoDB,分片技術

2: 開啟mongos服務器

這里要注意的是我們開啟的是mongos,不是mongod,同時指定下config服務器,這里我就開啟D盤上的mongodb,端口3333。

MongoDB,分片技術

3:啟動mongod服務器

對分片來說,也就是要添加片了,這里開啟E,F盤的mongodb,端口為:4444,5555。

MongoDB,分片技術

4: 服務配置

哈哈,是不是很興奮,還差最后一點配置我們就可以大功告成。

<1> 先前圖中也可以看到,我們client直接跟mongos打交道,也就說明我們要連接mongos服務器,然后將4444,5555的mongod

交給mongos,添加分片也就是addshard()。

MongoDB,分片技術

這里要注意的是,在addshard中,我們也可以添加副本集,這樣能達到更高的穩定性。

<2>片已經集群了,但是mongos不知道該如何切分數據,也就是我們先前所說的片鍵,在mongodb中設置片鍵要做兩步

①:開啟數據庫分片功能,命令很簡單 enablesharding(),這里我就開啟test數據庫。

②:指定集合中分片的片鍵,這里我就指定為person.name字段。

MongoDB,分片技術

5: 查看效果

好了,至此我們的分片操作全部結束,接下來我們通過mongos向mongodb插入10w記錄,然后通過printShardingStatus命令

查看mongodb的數據分片情況。

MongoDB,分片技術

這里主要看三點信息:

① shards: 我們清楚的看到已經別分為兩個片了,shard0000和shard0001。

② databases: 這里有個partitioned字段表示是否分區,這里清楚的看到test已經分區。

③ chunks: 這個很有意思,我們發現集合被砍成四段:

無窮小 —— jack0,jack0 ——jack234813,jack234813——jack9999,jack9999——無窮大。

分區情況為:3:1,從后面的 on shardXXXX也能看得出。

號外:博主的《完整版MongoDB 3.0 視頻教程 》正在淘寶熱銷,購買的請抓緊喲!


注:相關教程知識閱讀請移步到MongoDB頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 冀州市| 肃北| 仙桃市| 永修县| 花垣县| 河池市| 醴陵市| 云浮市| 句容市| 茶陵县| 玉环县| 永春县| 清丰县| 西青区| 林西县| 台江县| 新民市| 县级市| 武夷山市| 台安县| 仙居县| 南昌县| 彭泽县| 余干县| 庆城县| 乐东| 杭州市| 馆陶县| 汽车| 正宁县| 祁阳县| 潮州市| 乐陵市| 新巴尔虎右旗| 西安市| 九江市| 莱西市| 德格县| 元氏县| 洪洞县| 安义县|