MONGODB磁盤與內(nèi)存的數(shù)據(jù)格式一致嗎

本篇內(nèi)容主要講解“MongoDB磁盤與內(nèi)存的數(shù)據(jù)格式一致嗎”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“MONGODB磁盤與內(nèi)存的數(shù)據(jù)格式一致嗎”吧!

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)、做網(wǎng)站與策劃設(shè)計(jì),海林網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:海林等地區(qū)。海林做網(wǎng)站價(jià)格咨詢:18982081108

最近MONGODB 系統(tǒng)中的數(shù)據(jù)量逐漸變大,聯(lián)系了開發(fā)準(zhǔn)備開始進(jìn)行數(shù)據(jù)的archive 和  cleanup 事宜。其中運(yùn)維的同學(xué)問我,你存儲(chǔ)的數(shù)據(jù)size 和實(shí)際的數(shù)據(jù) size 是不一樣的,我回答那是mongodb 自帶的數(shù)據(jù)壓縮功能。

但后續(xù)的問題我模糊了,例如磁盤和內(nèi)存的數(shù)據(jù)是否完全一致,壓縮的比率是多少,等等。人無完人,我也不是DB 百科全書。不過好在還不是中年油膩大叔,模糊了那就learning 去。

那就直奔主題wiredTiger , wiredTiger 作為MONGODB 的主力存儲(chǔ)引擎(3.0以后,當(dāng)然還有PERCONA 但目前不主流)。

首先我們看看wiredTiger 到底是怎么存儲(chǔ)數(shù)據(jù)的,本身wiredTiger 存儲(chǔ)數(shù)據(jù)的方式有兩種, 行模式 和 列模式。而這兩種方式都是使用 B+ TREE的方式來進(jìn)行數(shù)據(jù)的存儲(chǔ)的。

在行模式中,KEY 與 Values 都是 strings 可變的,而如果采用列的方式,key是通過 64BIT的方式記錄 Values 和行模式一樣。所以行與列的模式中不同的是 key 的存儲(chǔ)方式。

這兩種存儲(chǔ)方式各有優(yōu)點(diǎn)和缺點(diǎn)

行的方式提取整行數(shù)據(jù)快,但需要的存儲(chǔ)空間大,并且如果某些方面設(shè)計(jì)不好,消耗的I/O 無論從性能還是尺寸上都比較大。

列式存儲(chǔ)則適合提取所需的字段(意思就是最好別一次提取較多的字段,否則沒優(yōu)勢(shì)),并且存儲(chǔ)的值被限制在 8-BITS 這限制值的大小。相關(guān)的mongodb的并發(fā)控制主要在 transactions , snapshots 和  cache幾個(gè)位置

MONGODB磁盤與內(nèi)存的數(shù)據(jù)格式一致嗎

MONGODB中 基本行采用了行模式的方式進(jìn)行數(shù)據(jù)的存儲(chǔ),而數(shù)據(jù)存儲(chǔ)中就會(huì)牽扯到 mongodb  中的數(shù)據(jù)壓縮

目前行的存儲(chǔ)方面支持四種壓縮方式

1 鍵值前綴壓縮

2 字段壓縮

3 霍夫曼數(shù)據(jù)編碼壓縮

4 塊壓縮

具體四種壓縮方式,默認(rèn)采用的是鍵值前綴壓縮的方式。這主要是根據(jù)CPU 磁盤的消耗,壓縮,以及算法的復(fù)雜度等因素考慮。

首先要確認(rèn)的是,磁盤存儲(chǔ)的數(shù)據(jù)與在內(nèi)存中的數(shù)據(jù)一定是不一樣的,要不怎么還有壓縮一說。

1

文件系統(tǒng)緩存中的數(shù)據(jù)與磁盤上的格式相同,包括對(duì)數(shù)據(jù)文件進(jìn)行任何壓縮,MONGODB使用文件系統(tǒng)緩存來減少磁盤I/O。

2

WiredTiger內(nèi)部緩存中加載的索引具有與磁盤格式不同的數(shù)據(jù)表示形式,但是仍然可以利用索引前綴壓縮來減少RAM的使用。索引前綴壓縮從索引字段中去除常見前綴。

3

WiredTiger內(nèi)部緩存中的收集數(shù)據(jù)是未壓縮的,并且使用與磁盤格式不同的表示形式。

關(guān)于壓縮比率的問題,其實(shí)沒有一個(gè)具體的固定的比率這和存儲(chǔ)的數(shù)據(jù)是有關(guān)的,下面有一個(gè)圖,這是 percona 的一個(gè) PPT 中曾經(jīng)提到的壓縮的比率還是比較高的

到此,相信大家對(duì)“MONGODB磁盤與內(nèi)存的數(shù)據(jù)格式一致嗎”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)站名稱:MONGODB磁盤與內(nèi)存的數(shù)據(jù)格式一致嗎
新聞來源:http://bm7419.com/article32/jjsjsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站響應(yīng)式網(wǎng)站、自適應(yīng)網(wǎng)站、網(wǎng)站導(dǎo)航、動(dòng)態(tài)網(wǎng)站、微信小程序

廣告

聲明:本網(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ǎng)站建設(shè)