innodb的磁碟IO(read-ahead和doublewrite技術)(來自於mysql文檔)

來源:互聯網
上載者:User

InnoDB使用類比非同步磁碟I/O:InnoDB建立許多線程來處理I/O操作,比如read-ahead(預讀).

 

在InnoDB中有兩個read-ahead試探:

(註:Innodb的記錄在檔案中的順序是按照主鍵順序儲存)

(1)在連續read-ahead中,如果InnoDB注意到在資料表空間中對一個片斷的訪問方式是連續的,它就預先布置一批資料庫頁的讀給I/O系統。

(2)在隨機read-ahead中,如果InnoDB注意到資料表空間中的一些地區看起來進入完全讀進緩衝池中的處理中,它就布置剩餘的讀到I/O系統。

 

InnoDB使用一個被稱為doublewrite(雙寫)的新穎的檔案重新整理技術。它給作業系統崩潰或掉電後的恢複添加了安全,並且通過減少對fsync()操作的需要,它在多數Unix變種上改善了效能。

 

Doublewrite意為在向一個資料檔案寫頁之前,InnoDB首先把它們寫到一個毗鄰的資料表空間地區,稱為doublewrite緩衝。僅在寫然後重新整理到doublewrite已經完成之後,InnoDB寫頁面到它們在資料表空間中恰當的位置。如果作業系統在寫頁面的中間崩潰,在恢複過程中,InnoDB可以在隨後從doublewrite緩衝中找到頁面的一個良好複製。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.