mongodb中chunk指的是什么

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

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比柳林網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式柳林網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋柳林地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。

什么是塊(chunk)?

在一個(gè)shard server內(nèi)部,MongoDB還是會(huì)把數(shù)據(jù)分為chunks,每個(gè)chunk代表這個(gè)shard server內(nèi)部一部分?jǐn)?shù)據(jù)。chunk的產(chǎn)生,會(huì)有以下兩個(gè)用途:

Splitting:

當(dāng)一個(gè)chunk的大小超過配置中的chunk size時(shí),MongDB的后臺(tái)進(jìn)程會(huì)把這個(gè)chunk切分成更小的chunk,從而避免chunk過大的情況

Balancing:

在MongoDB中,balancer是一個(gè)后臺(tái)進(jìn)程,負(fù)責(zé)chunk的遷移,從而均衡各個(gè)shard server的負(fù)載。

chunk size默認(rèn)值64M,生產(chǎn)庫上選擇適合業(yè)務(wù)的chunk size是最好的。

chunk的概念有些類似于數(shù)據(jù)庫中的分區(qū)的概念。

當(dāng)chunk的大小達(dá)到了chunk size的指定大小后,或chunk中的文檔數(shù)量超過了Maximum number of documents per chunk to migrate mongodb會(huì)分裂這個(gè)chunk。

一個(gè)只包含一個(gè)分片鍵值的chunk是不能被分裂的。

默認(rèn)的chunk的大小是64M,chunk的大小優(yōu)缺點(diǎn)如下:

Small chunks lead to a more even distribution of data at the expense of more frequent migrations. This creates 
expense at the query routing (mongos) layer.
Large chunks lead to fewer migrations. This is more efficient both from the networking perspective and in terms 
of internal overhead at the query routing layer. But, these efficiencies come at the expense of a potentially uneven 
distribution of data.
Chunk size affects the Maximum Number of Documents Per Chunk to Migrate.
Chunk size affects the maximum collection size when sharding an existing collection. Post-sharding, chunk size does 
not constrain collection size.

如果修改了chunk的大小,那么現(xiàn)存的chunk在達(dá)到新的大小后,才分裂。chunk的分裂是元數(shù)據(jù)的操作,很快,沒有進(jìn)行數(shù)據(jù)的遷移也不影響分片。

chunk的遷移,遷移可以自動(dòng),也可以收工。

balancer是一個(gè)后臺(tái)進(jìn)程管理chunk的遷移。如果在分片中存在的最大的chunk與最小的chunk超過了migration 限制,那么balancer會(huì)開始遷移chunk保證集群中的數(shù)據(jù)分布均衡。

在sharding.archiveMovedChunks啟用的時(shí)候,會(huì)在集合的命名空間下出現(xiàn)movechunk目錄存放的額是遷移的chunk的備份。如果在遷移過程中出現(xiàn)問題,這些文件可以用來恢復(fù)文檔。一旦遷移完成了,就不在需要這些文件了,可以刪除這些文件。為了看遷移是否完成,使用sh.isBalancerRunning()命令來查看進(jìn)度。

看完了這篇文章,相信你對(duì)mongodb中chunk指的是什么有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

名稱欄目:mongodb中chunk指的是什么
文章轉(zhuǎn)載:http://bm7419.com/article8/pccsip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、手機(jī)網(wǎng)站建設(shè)、面包屑導(dǎo)航網(wǎng)站改版、企業(yè)網(wǎng)站制作云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管