創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
10年積累的成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)制作后付款的網(wǎng)站建設(shè)流程,更有平潭免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。小編給大家分享一下mongodb中分片是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
分片(sharding)是MongoDB用來將大型集合分割到不同服務(wù)器(或者說一個(gè)集群)上所采用的方法。
分片的目的:
高數(shù)據(jù)量和吞吐量的數(shù)據(jù)庫應(yīng)用會(huì)對單機(jī)的性能造成較大壓力,大的查詢量會(huì)將單機(jī)的CPU耗盡,大的數(shù)據(jù)量對單機(jī)的存儲(chǔ)壓力較大,最終會(huì)耗盡系統(tǒng)的內(nèi)存而將壓力轉(zhuǎn)移到磁盤IO上。
為了解決這些問題,有兩個(gè)基本的方法: 垂直擴(kuò)展和水平擴(kuò)展。
垂直擴(kuò)展:增加更多的CPU和存儲(chǔ)資源來擴(kuò)展容量。
水平擴(kuò)展:將數(shù)據(jù)集分布在多個(gè)服務(wù)器上。水平擴(kuò)展即分片。
分片設(shè)計(jì)思想:
分片為應(yīng)對高吞吐量與大數(shù)據(jù)量提供了方法。使用分片減少了每個(gè)分片需要處理的請求數(shù),因此,通過水平擴(kuò)展,集群可以提高自己的存儲(chǔ)容量和吞吐量。舉例來說,當(dāng)插入一條數(shù)據(jù)時(shí),應(yīng)用只需要訪問存儲(chǔ)這條數(shù)據(jù)的分片.
使用分片減少了每個(gè)分片存儲(chǔ)的數(shù)據(jù)。
分片的優(yōu)勢:
1、mongos 對集群進(jìn)行抽象,讓集群“不可見”
mongodb中沒有failover機(jī)制,官方建議是將mongos和應(yīng)用服務(wù)器部署在一起,多個(gè)應(yīng)用服務(wù)器就要部署多個(gè)mongos實(shí)例。mongos作為統(tǒng)一路口的路由器,其會(huì)將客戶端發(fā)來的請求準(zhǔn)確無誤的路由到集群中的一個(gè)或者一組服務(wù)器上,同時(shí)會(huì)把接收到的響應(yīng)拼裝起來發(fā)回到客戶端。
2、保證集群總是可讀寫
MongoDB通過多種途徑來確保集群的可用性和可靠性。將MongoDB的分片和復(fù)制功能結(jié)合使用,在確保數(shù)據(jù)分片到多臺(tái)服務(wù)器的同時(shí),也確保了每分?jǐn)?shù)據(jù)都有相應(yīng)的備份,這樣就可以確保有服務(wù)器換掉時(shí),其他的從庫可以立即接替壞掉的部分繼續(xù)工作。
3、使集群易于擴(kuò)展
當(dāng)系統(tǒng)需要更多的空間和資源的時(shí)候,MongoDB使我們可以按需方便的擴(kuò)充系統(tǒng)容量。
看完了這篇文章,相信你對mongodb中分片是什么有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!