[發明專利]一種RocksDB數據庫數據寫入方法及RocksDB數據庫在審
| 申請號: | 201911422981.8 | 申請日: | 2019-12-31 |
| 公開(公告)號: | CN111221922A | 公開(公告)日: | 2020-06-02 |
| 發明(設計)人: | 王曉飛 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F16/28 | 分類號: | G06F16/28;G06F3/06 |
| 代理公司: | 濟南誠智商標專利事務所有限公司 37105 | 代理人: | 王申雨 |
| 地址: | 215100 江蘇省蘇州市吳*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 rocksdb 數據庫 數據 寫入 方法 | ||
本發明公開了一種RocksDB數據庫數據寫入方法,包括:數據以日志形式寫入磁盤,以memtable形式寫入內存;當memtable的數據大小超過閾值時,將該memtable保存為只讀memtable,新建memtable寫入新數據;當只讀memtable數量超過閾值時,將只讀memtable合并,以SST文件形式寫入非易失性內存;當非易失性內存中的SST文件數量超過閾值時,將非易失性內存中的SST文件合并寫入磁盤陣列。本發明還公開了一種RocksDB數據庫,包括磁盤、內存、非易失性內存和磁盤陣列;通過將level0存儲設置為非易失性內存,既保證了level0數據的非易失性和內存級的讀寫速率,又保證了level0向level1寫入數據時不會有較大的讀寫帶寬差距,從而提升RocksDB讀寫性能。
技術領域
本發明涉及數據庫領域,具體涉及一種RocksDB數據庫數據寫入方法及RocksDB數據庫。
背景技術
RocksDB是一種使用一套日志結構的數據庫引擎,為了更好的性能,這套引擎采用C++編寫,用來存儲key和value,Key和value是任意大小的字節流,為快速而又低延遲的存儲設備(例如閃存或者高速硬盤)而特殊優化處理。RocksDB能最大限度地發揮閃存和內存的高速率讀寫性能。
數據寫入時,先后經過磁盤、內存,最后在硬盤中存儲。目前常用的硬盤存儲介質是SSD,其讀寫性能與內存相比差距非常大,因此數據從內存寫入硬盤時,由于硬盤讀寫速率慢,會出現寫入速率降低的問題。
發明內容
為了解決上述技術問題,本發明提出了一種RocksDB數據庫數據寫入方法及RocksDB數據庫,能夠提高RocksDB從內存向硬盤寫入時的寫入速率,提升RocksDB讀寫性能。
為實現上述目的,本發明采用以下技術方案:
一種RocksDB數據庫數據寫入方法,包括:
數據以日志形式寫入磁盤,以memtable形式寫入內存;
當memtable的數據大小超過閾值時,將該memtable保存為只讀memtable,新建memtable寫入新數據;
當只讀memtable數量超過閾值時,將只讀memtable合并,以SST文件形式寫入非易失性內存;
當非易失性內存中的SST文件數量超過閾值時,將非易失性內存中的SST文件合并寫入磁盤陣列。
進一步地,非易失性內存中的SST文件合并寫入磁盤陣列后,將非易失性內存中的數據刪除。
進一步地,所述磁盤陣列包括若干層level1-leveln,非易失性內存中的SST文件合并寫入磁盤陣列的第一層level1;當磁盤陣列的第m層中的SST文件數量超過閾值時,將第m層levelm中的SST文件寫入第m+1層levelm+1,其中,mn。
進一步地,所述磁盤陣列的level1-leveln分別包括若干個硬盤,所述將第m層levelm中的SST文件寫入第m+1層levelm+1的寫入操作多線程執行。
本發明還提出了一種RocksDB數據庫,包括磁盤、內存、非易失性內存和磁盤陣列;
所述磁盤用于存儲并傳遞日志形式的數據,數據傳遞至內存;
所述內存用于存儲并傳遞memtable形式的數據,數據傳遞至非易失性內存;
所述非易失性內存用于存儲并傳遞SST文件形式的數據,數據傳遞至磁盤陣列;
所述磁盤陣列用于存儲SST文件形式的數據。
進一步地,所述磁盤陣列由若干個硬盤組成若干層level1-leveln,其中,非易失性內存傳遞的SST文件寫入level1。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911422981.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:行業云資源訪問控制方法及裝置
- 下一篇:一種單車自發電裝置
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





