[發明專利]一種用于列數據庫的單表多列序存儲方法有效
| 申請號: | 201110392033.1 | 申請日: | 2011-11-30 |
| 公開(公告)號: | CN102521303A | 公開(公告)日: | 2012-06-27 |
| 發明(設計)人: | 楊尚;王鴻翔;馮玉;李祥凱;冷建全 | 申請(專利權)人: | 北京人大金倉信息技術股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京汲智翼成知識產權代理事務所(普通合伙) 11381 | 代理人: | 陳曦;郭亞芳 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 數據庫 單表多列序 存儲 方法 | ||
技術領域
本發明涉及一種數據庫存儲方法,尤其涉及一種用于列數據庫的單表多列序存儲方法,屬于數據庫存儲技術領域。
背景技術
關系型數據庫是一個用以存儲及處理結構化數據的軟件系統,其數據分為兩個層次:一是邏輯數據,它是由數據表、記錄等組成;另一是物理數據,它代表數據庫怎樣存儲邏輯數據。實現數據庫物理數據的方法有兩種:一種是基于行存儲,另一種是基于列存儲。
對于基于行存儲的實現方法,它是把邏輯數據的整條記錄存儲到數據塊中,為了提高查詢速度,要為某些列建立B+樹等類型的索引;對于基于列存儲的實現方法,邏輯數據中的記錄不直接按條映射到物理數據中,而是把記錄按列分開,把所有記錄的相同列的值存在一起,同時提供連接數據,用于把不同記錄的相應的列值重新組合起來形成記錄。
隨著企業及政府信息化的不斷深入,數據庫應用的復雜性日益增強。這些需求推動著數據庫技術向海量和智能的方向發展。同時,數據倉庫和在線分析等應用迫切需要實時高效的數據處理技術。傳統的基于行存儲的數據庫技術已經出現了技術瓶頸。如何在快速執行復雜查詢的同時,還能縮小存儲空間和節約成本是目前數據庫技術研究的熱點問題。
列數據庫是基于列存儲技術、主要面向企業決策分析領域的關系型數據庫。列存儲技術的特點是數據查詢效率高,讀磁盤少,存儲空間少,是構建數據倉庫的理想架構。列數據庫的應用價值來自于它對復雜查詢的快速響應以及數據壓縮所帶來的存儲優勢,使其在企業決策分析、數據倉庫、商業智能等應用領域具有良好的發展前景。根據美國Gartner公司在2010年1月發布的關于數據倉庫的分析報告:列數據庫與傳統關系型數據庫相比,在數據分析方面表現出卓越的性能。因此,列數據庫的技術研究和產品開發在學術界和工業界受到廣泛關注。
目前,開源的列數據庫有C-Store,rasdaman,MonetDB等,商用列數據庫有Sybase?IQ、Vertica?Analytic?Database、ParAccel?Analytic?Database、EXASOL?EXA?Solution等。近5年來,在國際一流的數據庫會議如VLDB、SIGMOD、ICDE上有關列數據庫領域的優秀論文也頻頻出現。
在申請號為200810187227.6的中國發明專利申請中,公開了一種實現基于列存儲的關系型數據庫的方法及裝置,包括:建立數據文件,并對組成數據文件的數據塊按順序編序列號;定義表段;將記錄插入到表段中;對于插入到表段中的記錄生成表段內唯一的記錄標識號,并將記錄按列分開;對于記錄中的每一個列,執行如下操作:將列值和記錄標識號作為值數據存儲到數據塊中并按列值大小排序;將記錄標識號和存儲值數據的數據塊的序列號作為連接數據存儲到新的數據塊中,并按記錄標識號大小排序;對存儲值數據的數據塊和存儲連接數據的數據塊建立索引,生成索引數據塊。該方法是對存儲值數據的數據塊和存儲連接數據的數據塊建立索引,而不是對屬于同一元組的不同列或列集合之間建立索引。
發明內容
本發明所要解決的技術問題在于提供一種用于列數據庫的單表多列序存儲方法。利用該存儲方法可以提高列數據庫的查詢效率,并減小存儲空間。
為實現上述的發明目的,本發明采用下述的技術方案:
一種用于列數據庫的單表多列序存儲方法,所述列數據庫包括多個由行和列構成的數據表,所述數據表被劃分為多個列集合,所述列集合包括一個或多個列,并且所述列集合的并集構成所述數據表,其特征在于:
所述列集合兩兩之間建立連接索引,所述連接索引記錄建立了連接索引的兩個列集合中,屬于所述數據表的同一元組的列的存儲位置的一一對應關系。
其中較優地,對每個列集合,按照屬于所述數據表的同一元組的、兩個列集合中的列的存儲位置值,建立連接索引;
將所述連接索引對應存儲到所述每個列集合中,并與所述每個列集合中的所述列對應。
其中較優地,如果兩個列集合包含重復列,則按照所述重復列,對所述兩個列集合的行進行排序并存儲;
如果兩個列集合沒有重復列,則將所述兩個列集合的行,分別按照查詢條件來排序并存儲。
其中較優地,對于沒有重復列的所述兩個列集合,如果邏輯順序相同則不建立連接索引,如果邏輯順序不相同則建立連接索引。
其中較優地,對于有重復列的所述兩個列集合,不建立連接索引。
其中較優地,估計每個執行計劃所需的代價,根據最優代價選擇連接索引。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京人大金倉信息技術股份有限公司,未經北京人大金倉信息技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110392033.1/2.html,轉載請聲明來源鉆瓜專利網。





