[發明專利]一種基于RocksDB實現行列混合存儲的方法在審
| 申請號: | 202110823970.1 | 申請日: | 2021-07-21 |
| 公開(公告)號: | CN113535729A | 公開(公告)日: | 2021-10-22 |
| 發明(設計)人: | 賈德星;李盟;魏力 | 申請(專利權)人: | 浪潮云信息技術股份公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/2455 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 馮春連 |
| 地址: | 250100 山東省濟南市高*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 rocksdb 實現 行列 混合 存儲 方法 | ||
本發明公開一種基于RocksDB實現行列混合存儲的方法,涉及數據庫存儲技術領域,包括:將數據表模型存儲到RocksDB的默認列族,將每個數據庫表的行數據編碼為Key?Value數據后寫入獨立的數據表列族內存表;在列族內存表的數據需要持久化到磁盤時,根據數據表模型解碼Key?Value數據,得到列值數據,得到的列值數據寫入列式存儲引擎文件,同時,為RocksDB API擴展新的向量查詢接口,提供快速的列式數據查詢能力。本發明可以實現RocksDB對在線事務處理OLTP和在線數據分析OLAP應用混合場景的數據高效處理,而且客戶端仍然使用RocksDB API兼容接口,保證RocksDB應用的平滑升級。
技術領域
本發明涉及數據庫存儲技術領域,具體的說是一種基于RocksDB實現行列混合存儲的方法。
背景技術
RocksDB是一個可嵌入、持久型的Key-Value(鍵值)存儲,采用LSM樹存儲引擎,寫入的數據會先存儲到一個內存表中,當內存表中的數據大小超過設定的閾值后會啟動一個后臺線程,將內存表數據寫到SST文件中,進行持久化存儲。
在OLTP應用場景中,數據庫引擎會把數據庫表的一行數據編碼為Key-Value數據存儲到RocksDB,其中Key是表主鍵列的值,其他列的值則編碼為Value。而在OLAP應用場景下,往往只需要對數據表的某幾列數據進行聚合計算處理,這種Key-Value編碼的行存儲方式就比較低效,它需要從磁盤讀取整行數據并將全部列值解碼后才能得到需要的列數據,這就增加了磁盤IO使用量,加重了CPU計算負擔。
發明內容
本發明針對目前技術發展的需求和不足之處,提供一種基于RocksDB實現行列混合存儲的方法。
本發明的一種基于RocksDB實現行列混合存儲的方法,解決上述技術問題采用的技術方案如下:
一種基于RocksDB實現行列混合存儲的方法,其實現內容包括:
將數據表模型存儲到RocksDB的默認列族,將每個數據庫表的行數據編碼為Key-Value數據后寫入獨立的數據表列族內存表;
在列族內存表的數據需要持久化到磁盤時,根據數據表模型解碼Key-Value數據,得到列值數據,得到的列值數據寫入列式存儲引擎文件,同時,為RocksDB API擴展新的向量查詢接口,提供快速的列式數據查詢能力。
具體的,RocksDB存儲引擎擴展新的API-CreateTable,用于創建支持列族內存表的列族,以表名作為列族名,數據表模型的元數據編碼為Key-Value數據寫入到RocksDB的默認列族,其中:Key表示數據表名;Value表示數據表模型的元數據,包括列名、列的類型、主鍵索引。
更具體的,將每個數據庫表的行數據編碼為Key-Value數據時:
首先,將Key-Value數據寫入數據表列族的活動內存表,當活動內存表使用量達到閾值后,自動切換為只讀內存表,
隨后,即可啟動后臺線程,將只讀內存表的Key-Value數據持久化到磁盤。
更具體的,RocksDB是通過列存表構建器將內存表的Key-Value數據持久化的,默認使用SST表構建器類將Key-Value數據寫入SST文件。
更具體的,列存表構建器將查詢默認列族,得到當前列族表的數據表模型,然后根據數據表模型將Key-Value數據解碼得到一組列值,最后以列為單位將列值數據寫入列式存儲引擎文件中。
更具體的,通過數據先寫入內存再批量寫入列存引擎的方式,一可以保證高速寫入,二是批量寫入列存引擎也避免了底層列存數據文件的碎片化。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮云信息技術股份公司,未經浪潮云信息技術股份公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110823970.1/2.html,轉載請聲明來源鉆瓜專利網。





