[發(fā)明專利]一種基于RocksDB實現(xiàn)行列混合存儲的方法在審
| 申請?zhí)枺?/td> | 202110823970.1 | 申請日: | 2021-07-21 |
| 公開(公告)號: | CN113535729A | 公開(公告)日: | 2021-10-22 |
| 發(fā)明(設(shè)計)人: | 賈德星;李盟;魏力 | 申請(專利權(quán))人: | 浪潮云信息技術(shù)股份公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/2455 |
| 代理公司: | 濟(jì)南信達(dá)專利事務(wù)所有限公司 37100 | 代理人: | 馮春連 |
| 地址: | 250100 山東省濟(jì)南市高*** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 rocksdb 實現(xiàn) 行列 混合 存儲 方法 | ||
1.一種基于RocksDB實現(xiàn)行列混合存儲的方法,其特征在于,其實現(xiàn)內(nèi)容包括:
將數(shù)據(jù)表模型存儲到RocksDB的默認(rèn)列族,將每個數(shù)據(jù)庫表的行數(shù)據(jù)編碼為Key-Value數(shù)據(jù)后寫入獨立的數(shù)據(jù)表列族內(nèi)存表;
在列族內(nèi)存表的數(shù)據(jù)需要持久化到磁盤時,根據(jù)數(shù)據(jù)表模型解碼Key-Value數(shù)據(jù),得到列值數(shù)據(jù),得到的列值數(shù)據(jù)寫入列式存儲引擎文件,同時,為RocksDB API擴展新的向量查詢接口,提供快速的列式數(shù)據(jù)查詢能力。
2.根據(jù)權(quán)利要求1所述的一種基于RocksDB實現(xiàn)行列混合存儲的方法,其特征在于,RocksDB存儲引擎擴展新的API-CreateTable,用于創(chuàng)建支持列族內(nèi)存表的列族,以表名作為列族名,數(shù)據(jù)表模型的元數(shù)據(jù)編碼為Key-Value數(shù)據(jù)寫入到RocksDB的默認(rèn)列族,其中:Key表示數(shù)據(jù)表名;Value表示數(shù)據(jù)表模型的元數(shù)據(jù),包括列名、列的類型、主鍵索引。
3.根據(jù)權(quán)利要求1所述的一種基于RocksDB實現(xiàn)行列混合存儲的方法,其特征在于,將每個數(shù)據(jù)庫表的行數(shù)據(jù)編碼為Key-Value數(shù)據(jù)時:
首先,將Key-Value數(shù)據(jù)寫入數(shù)據(jù)表列族的活動內(nèi)存表,當(dāng)活動內(nèi)存表使用量達(dá)到閾值后,自動切換為只讀內(nèi)存表,
隨后,即可啟動后臺線程,將只讀內(nèi)存表的Key-Value數(shù)據(jù)持久化到磁盤。
4.根據(jù)權(quán)利要求3所述的一種基于RocksDB實現(xiàn)行列混合存儲的方法,其特征在于,RocksDB是通過列存表構(gòu)建器將內(nèi)存表的Key-Value數(shù)據(jù)持久化的,默認(rèn)使用SST表構(gòu)建器類將Key-Value數(shù)據(jù)寫入SST文件。
5.根據(jù)權(quán)利要求4所述的一種基于RocksDB實現(xiàn)行列混合存儲的方法,其特征在于,列存表構(gòu)建器將查詢默認(rèn)列族,得到當(dāng)前列族表的數(shù)據(jù)表模型,然后根據(jù)數(shù)據(jù)表模型將Key-Value數(shù)據(jù)解碼得到一組列值,最后以列為單位將列值數(shù)據(jù)寫入列式存儲引擎文件中。
6.根據(jù)權(quán)利要求5所述的一種基于RocksDB實現(xiàn)行列混合存儲的方法,其特征在于,通過數(shù)據(jù)先寫入內(nèi)存再批量寫入列存引擎的方式,一可以保證高速寫入,二是批量寫入列存引擎也避免了底層列存數(shù)據(jù)文件的碎片化。
7.根據(jù)權(quán)利要求6所述的一種基于RocksDB實現(xiàn)行列混合存儲的方法,其特征在于,為RocksDB API擴展新的向量查詢接口時,輸入?yún)?shù)有:主鍵范圍、本次查詢需要的列名、過濾條件、最大返回行數(shù),輸出參數(shù)有:以列為基礎(chǔ)組織的向量數(shù)據(jù)結(jié)果。
8.根據(jù)權(quán)利要求7所述的一種基于RocksDB實現(xiàn)行列混合存儲的方法,其特征在于,為RocksDB API擴展新的向量查詢接口時,擴展了新的列存表讀取器,用于讀取列存引擎的數(shù)據(jù),同時,基于列族內(nèi)存表的Key-Value數(shù)據(jù),列存表讀取器從默認(rèn)列族讀取數(shù)據(jù)表模型,根據(jù)數(shù)據(jù)表模型解析列族內(nèi)存表的Key-Value數(shù)據(jù),并轉(zhuǎn)換為向量模型數(shù)據(jù),隨后與列存引擎讀取的數(shù)據(jù)合并后返回給上層OLAP應(yīng)用。
9.根據(jù)權(quán)利要求8所述的一種基于RocksDB實現(xiàn)行列混合存儲的方法,其特征在于,被刪除的數(shù)據(jù)以標(biāo)記刪除的Key-Value寫入數(shù)據(jù)表列族內(nèi)存表,在持久化時,列存表構(gòu)建器解析到Key-Value刪除標(biāo)記時,也以標(biāo)記刪除的方式寫入列存引擎,然后在后臺線程對列存引擎的底層列式文件合并,并將這些標(biāo)記刪除的數(shù)據(jù)進(jìn)行物理刪除。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浪潮云信息技術(shù)股份公司,未經(jīng)浪潮云信息技術(shù)股份公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110823970.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種基于rocksdb排重數(shù)據(jù)導(dǎo)入圖庫的方法、裝置及存儲介質(zhì)
- 一種基于區(qū)塊鏈的大規(guī)模快速賬本存取系統(tǒng)
- 一種RocksDB數(shù)據(jù)庫數(shù)據(jù)寫入方法及RocksDB數(shù)據(jù)庫
- 一種全文檢索的高效保存倒排索引方法
- 一種數(shù)據(jù)檢索方法及裝置
- 一種分布式數(shù)據(jù)庫異步讀取并處理批量數(shù)據(jù)的方法
- 一種RocksDB存儲大值數(shù)據(jù)的方法
- 一種混合索引內(nèi)存數(shù)據(jù)庫存儲引擎管理方法
- 一種基于WAL實現(xiàn)分布式數(shù)據(jù)庫集群任意時間點恢復(fù)的方法
- 一種RocksDB性能提升方法、系統(tǒng)及存儲介質(zhì)
- 互動業(yè)務(wù)終端、實現(xiàn)系統(tǒng)及實現(xiàn)方法
- 街景地圖的實現(xiàn)方法和實現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實現(xiàn)裝置及其圖像實現(xiàn)方法
- 增強現(xiàn)實的實現(xiàn)方法以及實現(xiàn)裝置
- 軟件架構(gòu)的實現(xiàn)方法和實現(xiàn)平臺
- 數(shù)值預(yù)報的實現(xiàn)方法及實現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 輸入設(shè)備實現(xiàn)方法及其實現(xiàn)裝置





