基于非易失存儲器的鍵值存儲引擎
發(fā)布時間:2024-04-19 04:31
鍵值存儲引擎(key-value storage engine)在網絡索引、電子商務、社交網絡和云存儲等現代數據密集型應用中發(fā)揮著越來越重要的作用,然而內部存儲器和外部存儲器的固有缺陷成為制約鍵值存儲引擎的瓶頸。隨著存儲器技術的發(fā)展,出現了一類新型存儲器——非易失存儲器(non-volatile memory,簡稱NVM),非易失存儲器既有內部存儲器按字節(jié)尋址和低延遲的優(yōu)點,又有外部存儲器非易失和容量大的優(yōu)點。研究基于NVM的鍵值存儲引擎關鍵技術有望解決現有的鍵值存儲引擎所面臨的瓶頸問題。本文首先通過源碼分析了基于外存的鍵值存儲引擎Level DB的系統框架及運行機制,然后通過實驗分析了Level DB的讀延遲和寫放大(write amplification),根據實驗結果得出重要結論:一方面,SST文件引發(fā)的數據反序列化開銷和順序層次索引的維護開銷在讀延遲中占比很高;另一方面,文件分層的鍵值數據合并策略引發(fā)了很高的寫放大,不僅降低了數據寫入性能而且大幅縮短了NVM的使用壽命。根據此結論,本文從算法和工程上對Level DB進行了重新設計,實現了基于NVM的鍵值存儲引擎Nova DB。...
【文章頁數】:75 頁
【學位級別】:碩士
【部分圖文】:
本文編號:3958231
【文章頁數】:75 頁
【學位級別】:碩士
【部分圖文】:
圖2-1內部鍵的組成
16-第2章鍵值存儲引擎LevelDB的缺陷2.1引言本章首先給出了LevelDB的系統框架及運行機制,然后通過實驗分析LevelDB的讀延遲和寫放大,最后總結并提出了改進思路,為后續(xù)章節(jié)奠定基矗2.2LevelDB系統框架及運行機制LevelDB是一種采用LSM樹索引的主流鍵值....
圖2-2LevelDB系統框架
哈爾濱工業(yè)大學工學碩士學位論文-17-鍵等SST文件元數據被收集起來用于構建順序層次索引,LevelDB根據順序層次索引對這些SST文件執(zhí)行二分查找。任何新增或刪除SST文件的操作都會以寫時復制(copy-on-write)的方式更新順序層次索引,更新的內容以尾部追加的方式寫入M....
圖2-3讀延遲各流程開銷比例綜合以上從實驗和源碼兩方面對LevelDB讀延遲的剖析,可以得出結論:有LevelDB
維護開銷在讀延遲中占比快速增大,而數據查找操作的延遲總和基本上與數據量呈線性增長關系。結合LevelDB的開源代碼容易得知原因:一方面,LevelDB將文件打開句柄數量限制在1000以內以防耗盡文件描述符(filedescriptor)或虛擬內存(virtualme....
圖2-4寫放大
哈爾濱工業(yè)大學工學碩士學位論文-21-圖2-4寫放大圖2-5寫延遲
本文編號:3958231
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3958231.html