MongoDB如何儲存資料

來源:互聯網
上載者:User

想要深入瞭解MongoDB如何儲存資料之前,有一個概念必須清楚,那就是 Memeory-Mapped Files。

Memeory-Mapped Files

下圖展示了資料庫是如何跟底層系統打交道的。

記憶體對應檔是OS通過mmap在記憶體中建立一個資料檔案,這樣就把檔案對應到 一個虛擬記憶體的地區。

虛擬記憶體對於進程來說,是一個實體記憶體的抽象,定址空間大小為2^64

作業系統通過mmap來把進程所需的所有資料對應到這個地址空間(紅線),然後 再把當前需要處理的資料對應到實體記憶體(灰線)

當進程訪問某個資料時,如果資料不在虛擬記憶體裡,觸發page fault,然後OS 從硬碟裡把資料載入進虛擬記憶體和實體記憶體

如果實體記憶體滿了,觸發swap-out操作,這時有些資料就需要寫回磁碟,如果 是純粹的記憶體資料,寫回swap分區,如果不是就寫回磁碟。

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.