mongodb第五篇文章~關於mongodb的兩種引擎

來源:互聯網
上載者:User

標籤:並發控制   poi   配置   redo log   周期性   tran   document   undo   bin   

簡介:介紹mongodb的兩種引擎和WAL技術

一 MMAPv1引擎:

    前注釋:mmapv1引擎也是隨著版本不斷改進,所以只介紹大體的

    1 預設版本引擎:  mongodb <3.2

    2 鎖層級: 1   Version < 2.2 : 只支援進程級鎖,一個Mongod執行個體一個鎖。

                    2  2.2 ≤ Version < 3.0 : 支援庫級鎖,一個db一把鎖

                   3  Version> 3..0 collection層級

                    

    3 MVCC :  不支援 多版本並發控制

二  wiredtiger引擎

     1 預設版本引擎:mongodb >= 3.2

     2 鎖層級:  document 層級(table) =》document-level concurrency( 文檔層級的並發)

     3 MVCC:支援 多版本並發控制

     4 Checkpoint durability (周期性的checkpoint會產生資料集的鏡像,這是災難恢複的基礎)

     5 Commit-level durability (開啟WAL(記錄在jonural日誌中)日誌記錄後 對WT資料庫的更新都會先寫log,並進行周期性重新整理,再修改資料,用於災難恢複的根據)

     6 恢複機制 :具體策略為

  1. 每60s做一次checkpoint
  2. 開啟write ahead log,當log size達到2GB時做checkpoint;並自動刪除不需要的log檔案。
  3. 每次commit_transaction時,調用fsync持久化已經commit的log
  4. 通過 checkpoint+wal日誌記錄 保證了mongodb的資料可靠性恢複

         基於上述配置,mongodb可以保證服務crash時,所有已經commit的操作都能通過log恢複

三 記錄檔對應的理解

    1 mongodb oplog => mysql binlog

    2 mongodb WAL =>  mysql undo+redo log

四  WAL技術解讀 

      WAL即 Write-Ahead Logging,是一種實現交易記錄的標準方法。WAL 的中心思想是先寫日誌,再寫資料,資料檔案的修改必鬚髮生在這些修改已經記錄在記錄檔中之後。採用WAL日誌的資料庫系統在事務提交時,WAL機制可以從兩個方面來提高效能:

  • 多個client寫記錄檔可以通過一次 fsync()來完成
  • 記錄檔是順序寫的,同步處理記錄的開銷要遠比同步資料頁的開銷要小

      總體來說,使用了WAL機制之後,磁碟寫操作只有傳統的復原日誌的一半左右,大大提高了資料庫磁碟I/O操作的效率,從而提高了資料庫的效能。

  採用了WAL機制,就不需要在每次事務提交的時候都把資料頁沖刷到磁碟,如果出現資料庫崩潰, 我們可以用日誌來恢複資料庫,任何尚未附加到資料頁的記錄都將先從日誌記錄   中重做(這叫向前滾動恢複,也叫做 REDO).WAL記錄模式提供checkpoint操作,來定時進行資料更新操作

五 關於引擎方面還有很多不太懂的地方,有興趣的可以留言交流

     

    

   

     

                                       

mongodb第五篇文章~關於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.