小編給大家分享一下MongoDB中chunk指的是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
創新互聯建站-專業網站定制、快速模板網站建設、高性價比柳林網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式柳林網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋柳林地區。費用合理售后完善,十年實體公司更值得信賴。
什么是塊(chunk)?
在一個shard server內部,MongoDB還是會把數據分為chunks,每個chunk代表這個shard server內部一部分數據。chunk的產生,會有以下兩個用途:
Splitting:
當一個chunk的大小超過配置中的chunk size時,MongDB的后臺進程會把這個chunk切分成更小的chunk,從而避免chunk過大的情況
Balancing:
在MongoDB中,balancer是一個后臺進程,負責chunk的遷移,從而均衡各個shard server的負載。
chunk size默認值64M,生產庫上選擇適合業務的chunk size是最好的。
chunk的概念有些類似于數據庫中的分區的概念。
當chunk的大小達到了chunk size的指定大小后,或chunk中的文檔數量超過了Maximum number of documents per chunk to migrate mongodb會分裂這個chunk。
一個只包含一個分片鍵值的chunk是不能被分裂的。
默認的chunk的大小是64M,chunk的大小優缺點如下:
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的大小,那么現存的chunk在達到新的大小后,才分裂。chunk的分裂是元數據的操作,很快,沒有進行數據的遷移也不影響分片。
chunk的遷移,遷移可以自動,也可以收工。
balancer是一個后臺進程管理chunk的遷移。如果在分片中存在的最大的chunk與最小的chunk超過了migration 限制,那么balancer會開始遷移chunk保證集群中的數據分布均衡。
在sharding.archiveMovedChunks啟用的時候,會在集合的命名空間下出現movechunk目錄存放的額是遷移的chunk的備份。如果在遷移過程中出現問題,這些文件可以用來恢復文檔。一旦遷移完成了,就不在需要這些文件了,可以刪除這些文件。為了看遷移是否完成,使用sh.isBalancerRunning()命令來查看進度。
看完了這篇文章,相信你對mongodb中chunk指的是什么有了一定的了解,想了解更多相關知識,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!
名稱欄目:mongodb中chunk指的是什么
文章轉載:http://vcdvsql.cn/article8/pccsip.html
成都網站建設公司_創新互聯,為您提供網站設計公司、手機網站建設、面包屑導航、網站改版、企業網站制作、云服務器
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯