91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MONGODB磁盤與內存的數據格式一致嗎

發布時間:2021-07-16 01:56:55 來源:億速云 閱讀:117 作者:chen 欄目:大數據

本篇內容主要講解“MONGODB磁盤與內存的數據格式一致嗎”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“MONGODB磁盤與內存的數據格式一致嗎”吧!

最近MONGODB 系統中的數據量逐漸變大,聯系了開發準備開始進行數據的archive 和  cleanup 事宜。其中運維的同學問我,你存儲的數據size 和實際的數據 size 是不一樣的,我回答那是mongodb 自帶的數據壓縮功能。

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

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

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

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

這兩種存儲方式各有優點和缺點

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

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

MONGODB磁盤與內存的數據格式一致嗎

MONGODB中 基本行采用了行模式的方式進行數據的存儲,而數據存儲中就會牽扯到 mongodb  中的數據壓縮

目前行的存儲方面支持四種壓縮方式

1 鍵值前綴壓縮

2 字段壓縮

3 霍夫曼數據編碼壓縮

4 塊壓縮

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

首先要確認的是,磁盤存儲的數據與在內存中的數據一定是不一樣的,要不怎么還有壓縮一說。

1

文件系統緩存中的數據與磁盤上的格式相同,包括對數據文件進行任何壓縮,MONGODB使用文件系統緩存來減少磁盤I/O。

2

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

3

WiredTiger內部緩存中的收集數據是未壓縮的,并且使用與磁盤格式不同的表示形式。

關于壓縮比率的問題,其實沒有一個具體的固定的比率這和存儲的數據是有關的,下面有一個圖,這是 percona 的一個 PPT 中曾經提到的壓縮的比率還是比較高的

到此,相信大家對“MONGODB磁盤與內存的數據格式一致嗎”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

四会市| 滦平县| 思茅市| 海林市| 洛川县| 文登市| 汶川县| 土默特右旗| 东宁县| 和田县| 商城县| 连云港市| 海晏县| 泰宁县| 邯郸市| 绥宁县| 沁源县| 古蔺县| 洛隆县| 常熟市| 南平市| 沛县| 峡江县| 高唐县| 万宁市| 岐山县| 宽甸| 井陉县| 兰坪| 贡嘎县| 东源县| 长沙市| 正蓝旗| 新宾| 南川市| 崇州市| 长宁区| 江阴市| 台东市| 石狮市| 西吉县|