mongodb之儲存引擎

來源:互聯網
上載者:User

標籤:red   儲存引擎   記錄   com   組件   man   頻繁   multi   tps   

前言

儲存引擎是Mongodb管理資料存放區主要的組件,Mongodb支援多種儲存引擎,每種儲存引擎適合特定的情境

 

WiredTiger

特性

1. version >= 3.2版本預設儲存引擎
2. 支援文檔層級的並發
3. 使用MVCC(MultiVersion Concurrency Control)實現並發控制
4. 可以通過快照恢複資料
5. 優先寫journal日誌保證資料落地,單機模式建議開啟journal日誌
6. 支援集合和索引資料壓縮
7. 使用儲存引擎內部緩衝和檔案系統快取

適用情境

適合大部分情境


MMAPv1

特性

1. mongodb第一代引擎,基於檔案記憶體映射(based on memory mapped files)
2. 不支援big-endian架構的系統
3. 通過頻繁寫journal日誌資料來恢複資料
4. 記錄連續儲存在硬碟
5. 更新時,內容超過分配的空間,記錄需要移動到新位置,索引重建和產生硬碟片段,非常耗時,盡量避免這種情況的發生
6. 記錄空間分配策略: 2的N次方,適用記錄可能會變化的情境; 原始大小,適用不會更新的情境,比如日誌記錄
7. 使用所有系統可用緩衝,由系統控制,可隨時回收,記憶體越大效能越好

適用情境

高量讀寫和某些情況高量更新


In-Memory

特性

1. version >= 3.2.6版本可用,僅企業版支援
2. 所用資料存放區在緩衝中,效能比其它儲存引擎要好
3. 支援文檔鎖
4. 需要分配足夠的可用記憶體
5. 不支援持久儲存

適用情境

小資料量,臨時儲存,資料中轉情境


參考資料

【1】mongodb儲存
https://docs.mongodb.com/manual/storage/

【2】Storage Engines
https://docs.mongodb.com/manual/core/storage-engines/

【3】WiredTiger Storage Engine
https://docs.mongodb.com/manual/core/wiredtiger/

【4】MMAPv1 Storage Engine
https://docs.mongodb.com/manual/core/mmapv1/

【5】In-Memory Storage Engine
https://docs.mongodb.com/manual/core/inmemory/

【6】Journaling
https://docs.mongodb.com/manual/core/journaling/

【7】GridFS
https://docs.mongodb.com/manual/core/gridfs/

【8】FAQ: MongoDB Storage
https://docs.mongodb.com/manual/faq/storage/

mongodb之儲存引擎

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.