[發明專利]用于鍵值存儲的持久性存儲器在審
| 申請號: | 201880025961.4 | 申請日: | 2018-03-15 |
| 公開(公告)號: | CN110678836A | 公開(公告)日: | 2020-01-10 |
| 發明(設計)人: | 周平 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06;G06F12/02;G06F16/182 |
| 代理公司: | 11644 北京清源匯知識產權代理事務所(特殊普通合伙) | 代理人: | 馮德魁;竇曉慧 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 開曼群島;KY |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 持久存儲介質 物理地址 直接存儲 鍵操作 持久性存儲器 持久性存儲 存儲器 鍵值存儲 原位更新 直接訪問 持久性 檢索 | ||
公開了使用持久性存儲器來進行鍵值存儲,包括:接收包括鍵和相應的值的放置鍵操作;使用至少部分地基于鍵確定的物理地址來將鍵直接存儲到持久性存儲介質,其中,持久存儲介質支持存儲器持久性和原位更新;將值直接存儲到持久存儲介質;接收包括鍵的獲取鍵操作;以及使用至少部分地基于鍵確定的物理地址來直接訪問持久存儲介質以檢索與鍵對應的值。
背景技術
在傳統存儲器/存儲分層結構上運行的現有鍵值數據庫遭受顯著的低效率。例如,傳統的存儲器/存儲分層結構包括動態隨機存取存儲器(DRAM)和固態驅動器(SSD)和/或硬盤驅動器(HDD)的組合。來自應用的鍵值數據在它到達存儲介質之前經過長的路徑,并且每次訪問都會產生多個磁盤I/O。
在將鍵值數據存儲在傳統存儲器/存儲分層結構中的一些示例處理中,鍵值記錄在它們通過“壓縮”處理寫入磁盤文件之前首先存儲在存儲器數據結構中。為了改善響應時間,磁盤文件被組織成具有不同大小的多個級別(例如,級別0到級別3),最頻繁(和最近)使用的記錄最初存儲在級別0中。當一個級別的文件填滿時,所述文件的數據還通過壓縮處理移動到下一級別。因此,查找鍵可能涉及跨多個級別讀取多個文件。此外,一些數據在多個級別之間重復,因此浪費了一些存儲空間。由于這些問題,傳統的鍵值存儲技術遭受高開銷、高讀/寫放大和空間放大(浪費的空間)。
附圖說明
在以下詳細描述和附圖中公開了本發明的各種實施例。
圖1是示出存儲在鍵值數據庫中的各種示例鍵值對的圖。
圖2是示出傳統鍵值存儲方案的圖。
圖3是用于鍵值存儲的持久性存儲器的系統的實施例的圖。
圖4A是示出用于將接收到的鍵值對存儲在用于鍵值存儲的持久性存儲器中的處理的實施例的流程圖。
圖4B是示出在用于鍵值存儲的持久性存儲器處檢索存儲的與接收到的鍵相對應的值的處理的實施例的流程圖。
圖4C是示出用于使用持久性存儲器進行鍵值存儲的處理的實施例的流程圖。
圖5是示出用于維護頁面使用數據結構的處理的實施例的流程圖。
圖6A示出了存儲的用于鍵頁面的示例元數據。
圖6B示出了存儲的用于值頁面示例元數據。
圖7是示出用于在KVPM中存儲新鍵值對的處理的實施例的流程圖。
圖8是示出用于對存儲的鍵執行原位更新的處理的實施例的流程圖。
圖9是示出用于對存儲的鍵執行異地更新的處理的實施例的流程圖。
圖10是示出用于執行放置鍵操作的處理的示例的流程圖。
圖11示出了使用放置鍵操作來將新鍵值對存儲在KVPM的頁面中的結果的示例。
圖12示出了在原位更新模式中使用放置鍵操作來將先前存儲的鍵的新值存儲在KVPM的頁面中的結果的示例。
圖13示出了在異地更新模式中使用放置鍵操作來將先前存儲的鍵的新值存儲在KVPM的頁面中的結果的示例。
圖14是示出釋放對應于存儲的鍵的值的快照版本的實施例的流程圖。
圖15示出了與存儲與鍵對應的值的各種版本相關聯的值頁面和鍵頁面之間的指針的示例。
圖16示出了釋放與鍵對應的值的快照版本的示例。
圖17是示出用于從KVPM檢索對應于鍵的存儲值的處理的實施例的流程圖。
圖18是示出用于執行獲取鍵操作的處理的示例的流程圖。
圖19示出了使用獲取鍵操作來從KVPM的頁面檢索對應于給定鍵的存儲值的結果的示例。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201880025961.4/2.html,轉載請聲明來源鉆瓜專利網。





