[發明專利]數據庫系統的行列混合存儲方法無效
| 申請號: | 201310296167.2 | 申請日: | 2013-07-15 |
| 公開(公告)號: | CN103440245A | 公開(公告)日: | 2013-12-11 |
| 發明(設計)人: | 王卓;肖玉澤;陳群;劉海龍;白松;孫林超;李戰懷 | 申請(專利權)人: | 西北工業大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 西北工業大學專利中心 61204 | 代理人: | 王鮮凱 |
| 地址: | 710072 *** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據庫 系統 行列 混合 存儲 方法 | ||
技術領域
本發明涉及一種行列混合存儲方法,特別是涉及一種數據庫系統的行列混合存儲方法。
背景技術
參照圖3。在關系數據庫系統中,數據是在邏輯上組織成表的形式。存取表的性能是影響數據庫系統性能的一個重要因素。表的存儲模式分為行存儲和列存儲兩種。行存儲模式下數據按元組存儲,每個元組的所有屬性都存儲在一起。如果要查詢一個元組的某個屬性值,則需要先讀取整個元組的數據。當前大多數的關系數據庫系統都采用行存儲技術。列存儲將表的每一列組織在一起進行存儲,不同的列獨立存儲。
隨著社會信息化程度的不斷加深,不斷累積的海量數據和不斷增加數據膨脹速度對數據庫系統提出了新的需求。基于數據庫的應用主要分為OLTP和OLAP兩類,前者需要處理涉及頻繁“寫”操作的事物性查詢,后者側重于處理涉及大量“讀”操作的分析型查詢。研究應用表明:列存儲在讀操作上有著較大的優勢,非常適用于OLAP查詢。然而其對寫操作的支持并不理想,因此并不適合OLTP查詢。另一方面,多年的實踐表明傳統的行式數據庫對OLTP查詢支持的非常好。
由于上述原因,當前面向OLTP數據庫和面向OLAP的數據庫往往彼此獨立。然而很多企業和組織同時擁有這兩種業務,不得不部署兩套系統。這種做法不僅增加了企業成本,而且實際使用中要在不同數據庫之間進行數據遷移,不利于數據的管理和使用。因此,構建一種既支持列存儲,具有良好的讀性能,又支持行存儲,有良好寫性能,從而能同時支持OLTP和OLAP應用的混合存儲數據庫有著巨大現實需求。
發明內容
為了克服現有行式數據庫系統的行列混合存儲方法,由于其組織方法和查詢執行方法的不同,且難以統一的不足,本發明提供一種數據庫系統的行列混合存儲方法。該方法在數據庫系統的存儲層分別設立一個行存儲引擎和一個列存儲引擎,然后由一個訪問接口層將兩者封裝起來,對列表進行元組物化,對行表進行投影,向查詢引擎提供統一的數據訪問接口,從而隱藏存儲差別,實現查詢處理的統一化。
本發明解決其技術問題所采用的技術方案是:一種數據庫系統的行列混合存儲方法,其特點是采用以下步驟:
步驟一、建立行列混合的存儲模型的步驟。
(1)定義一個訪問的參數列表,負責行式文件和列式文件的訪問方式。
(2)然后接入存儲引擎分裝層,從而向上隱藏存儲細節,提供一致的數據訪問接口。查詢引擎訪問存儲引擎時提供四個訪問參數<DataFileID,StoreType,AttList,ConditionList>,存儲引擎封裝層根據參數StoreType選擇行存儲子引擎或列存儲子引擎完成數據訪問。行存儲引擎根據參數AttList和ConditionList對數據進行選擇和投影;列存儲引擎則進行選擇和元組物化。
(3)存儲引擎與查詢引擎間的數據交互以“元組”的形式進行,在存儲引擎以上的部分,表都是以行的方式存儲的,查詢分析和執行過程復用行式數據庫的成熟邏輯。
(4)對于數據插入,查詢引擎將數據元組連同訪問參數傳給存儲引擎,如果StoreType值為ROW,則由行存儲子引擎將數據元組作為整體寫入表文件;如果StoreType值為COLUMN,則在封裝層拆分,然后由列存儲子引擎將數據寫入各自的文件。
步驟二、構建文件組織方法。
數據庫中的數據在邏輯上表現為表,物理上以文件的形式存儲于磁盤。
(1)對于行表,同一表的數據存儲在一個文件中,文件名為表名通過映射函數生成的DataFileID。文件的內部結構可以完全繼承相關行數據庫的方法。
(2)對于列表,表的每個屬性列獨立地組織成一個文件,每個表對應一組文件。文件名的格式為<DataFileID-AttID>,其中DataFileID由表名經過映射得到,AttID由屬性名映射得到。
(3)DataFileID命名的文件,用以存儲元組的公共描述信息。
(4)在列表文件內部,首先在文件頭部存儲數據類型、數據長度等描述信息,之后連續的存儲有效數據。列表在數據讀出后需要進行元組物化操作。
步驟三、行列混合存儲查詢流程。
(1)根據創建表時的存儲模型,在查詢語句的解析階段,獲取表的存儲模式;
(2)結合查詢分析的相關信息生成<DataFileID,StoreType,AttList,ConditionList>四個訪問參數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西北工業大學,未經西北工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310296167.2/2.html,轉載請聲明來源鉆瓜專利網。





