溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mongodb中分片是什么

發(fā)布時(shí)間:2020-07-08 16:26:03 來(lái)源:億速云 閱讀:221 作者:清晨 欄目:編程語(yǔ)言

小編給大家分享一下mongodb中分片是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

分片(sharding)是MongoDB用來(lái)將大型集合分割到不同服務(wù)器(或者說(shuō)一個(gè)集群)上所采用的方法。

分片的目的:

高數(shù)據(jù)量和吞吐量的數(shù)據(jù)庫(kù)應(yīng)用會(huì)對(duì)單機(jī)的性能造成較大壓力,大的查詢量會(huì)將單機(jī)的CPU耗盡,大的數(shù)據(jù)量對(duì)單機(jī)的存儲(chǔ)壓力較大,最終會(huì)耗盡系統(tǒng)的內(nèi)存而將壓力轉(zhuǎn)移到磁盤(pán)IO上。

為了解決這些問(wèn)題,有兩個(gè)基本的方法: 垂直擴(kuò)展和水平擴(kuò)展。

  • 垂直擴(kuò)展:增加更多的CPU和存儲(chǔ)資源來(lái)擴(kuò)展容量。

  • 水平擴(kuò)展:將數(shù)據(jù)集分布在多個(gè)服務(wù)器上。水平擴(kuò)展即分片。

分片設(shè)計(jì)思想:

分片為應(yīng)對(duì)高吞吐量與大數(shù)據(jù)量提供了方法。使用分片減少了每個(gè)分片需要處理的請(qǐng)求數(shù),因此,通過(guò)水平擴(kuò)展,集群可以提高自己的存儲(chǔ)容量和吞吐量。舉例來(lái)說(shuō),當(dāng)插入一條數(shù)據(jù)時(shí),應(yīng)用只需要訪問(wèn)存儲(chǔ)這條數(shù)據(jù)的分片.

使用分片減少了每個(gè)分片存儲(chǔ)的數(shù)據(jù)。

分片的優(yōu)勢(shì):

1、mongos 對(duì)集群進(jìn)行抽象,讓集群“不可見(jiàn)”

mongodb中沒(méi)有failover機(jī)制,官方建議是將mongos和應(yīng)用服務(wù)器部署在一起,多個(gè)應(yīng)用服務(wù)器就要部署多個(gè)mongos實(shí)例。mongos作為統(tǒng)一路口的路由器,其會(huì)將客戶端發(fā)來(lái)的請(qǐng)求準(zhǔn)確無(wú)誤的路由到集群中的一個(gè)或者一組服務(wù)器上,同時(shí)會(huì)把接收到的響應(yīng)拼裝起來(lái)發(fā)回到客戶端。

2、保證集群總是可讀寫(xiě)

MongoDB通過(guò)多種途徑來(lái)確保集群的可用性和可靠性。將MongoDB的分片和復(fù)制功能結(jié)合使用,在確保數(shù)據(jù)分片到多臺(tái)服務(wù)器的同時(shí),也確保了每分?jǐn)?shù)據(jù)都有相應(yīng)的備份,這樣就可以確保有服務(wù)器換掉時(shí),其他的從庫(kù)可以立即接替壞掉的部分繼續(xù)工作。

3、使集群易于擴(kuò)展

當(dāng)系統(tǒng)需要更多的空間和資源的時(shí)候,MongoDB使我們可以按需方便的擴(kuò)充系統(tǒng)容量。

看完了這篇文章,相信你對(duì)mongodb中分片是什么有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI