主記憶體資料庫系統設計/儲存引擎概述
外觀
第四章:儲存引擎概述
儲存引擎通常負責資料庫管理系統 (DBMS) 中的資料組織、訪問方法和事務。這是 DBMS 中與作業系統服務互動的最低層子系統。通常,產品透過作業系統層子系統(作業系統系統呼叫的包裝器)進行互動,以簡化移植工作。
資料應儲存在計算機系統的以下元件之一中
- 記憶體
- 輔助儲存器 - 磁碟
- 三級儲存器 - 磁帶
這些元件具有資料容量、每位元組成本、速度跨越多個數量級。容量最小的裝置提供最快的訪問速度,並且每位元組成本最高。
當前趨勢:由於其巨大的容量和每位元組低成本,三級儲存器現已被磁碟取代。未來趨勢:由於容量增加和每位元組成本降低,磁碟被主記憶體取代。
一次磁碟塊傳輸大約需要 5 毫秒,而主記憶體訪問需要 100 納秒。透過將整個資料庫儲存在記憶體中,這些磁碟 I/O 被轉換為記憶體訪問,從而將吞吐量提高了許多倍。記憶體是一種易失性裝置,當斷電時會丟失儲存在其中的資料。但磁碟是一種非易失性裝置,即使長時間斷電,也能保持內容完整。這使得主記憶體儲存管理器難以實現。它使用日誌記錄和檢查點機制來應對電源故障,並使儲存在主記憶體中的資料持久化。