[發明專利]用于以存儲高效的方式存儲表格數據的方法和系統無效
| 申請號: | 201310258423.9 | 申請日: | 2013-06-26 |
| 公開(公告)號: | CN103631838A | 公開(公告)日: | 2014-03-12 |
| 發明(設計)人: | 丹尼爾·烏爾里克·史瑞克 | 申請(專利權)人: | 軟件股份公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京東方億思知識產權代理有限責任公司 11258 | 代理人: | 李曉冬 |
| 地址: | 德國達*** | 國省代碼: | 德國;DE |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 存儲 高效 方式 表格 數據 方法 系統 | ||
技術領域
本發明涉及用于在表格數據結構中存儲數據的方法和系統。
背景技術
現代計算機系統經常對表格數據進行操作,表格數據即構造為二維表格的數據,其中每個數據項(也稱為“單元”)可以通過其列和行號來尋址。支持這種表格數據結構的系統的流行示例是數據庫系統,例如關系數據庫系統。表格數據存儲方式底層的理論概念追溯到1970年代已經是科學研究的主題(對于概述,例如見G.Copeland等人的“A?decomposition?storage?model”,關于數據管理的1985ACM?SIGMOD國際會議會刊(SIGMOD‘85).ACM,紐約,NY,USA,268-270)。
因此,在概念層面上,表格數據可被理解為二維表格。然而,當存儲這種數據時,二維數據必須被串行化為一維比特序列以被存儲在底層計算機硬件的工作存儲器(例如RAM)和/或永久存儲裝置(例如硬盤驅動器)中。為此,多數傳統數據庫管理系統(DBMS)遵循所謂的面向行的方式,即二維表格被逐行存儲。另一種方式被所謂的面向列的DBMS遵循,其將其數據表格存儲為連串的列。兩種方式具有其單獨的優點和缺點,例如當需要在許多行上但是僅針對所有數據列的顯著更小的子集計算聚合時面向列的系統更加高效,這是因為讀取該更小數據子集可以比讀取全部數據更快。另一方面,當同時需要單個行中的許多列時以及當行尺寸相對小時面向行的系統更加高效,這是因為整個行可以利用單次磁盤尋道取回。不管所使用的存儲策略,允許快速隨機訪問讀的物理存儲可以極大地提高操作速度。隨機訪問允許在必須讀取僅很少字段和很少行的情況下進行查詢的情況下使讀取數據的數量最小化。其實現此是因為僅必須從存儲傳輸感興趣的單獨單元。如果一種類型的全部單元具有相同尺寸則尋找那些單獨單元是最容易并且最快的,這是因為然后可以通過簡單乘法來計算單元的地址。
影響這兩種方式的另一障礙在于表格中的數據極少是靜態的,這是因為新的行被頻繁地添加、刪除并且單元值可被改變。例如,如果一單元被添加到一列并且該單元不符合該列中每單元可用的比特數目,則該列的底層數據結構必須被適應性改變。尤其是在面向行的存儲模型中,改變列寬度(即每單元可用的比特數目)的成本可能是過高的,這是因為全部行必須被重新編碼,實際導致整個表被變換。
在面向列的存儲模型中,用于使數據結構適應性改變的簡單策略是使受影響的列的每個單元的比特數目增加。然而該策略具有兩個缺點,這兩個缺點如果列大則變得特別相關。首先,具有舊單元容量的舊結構的所有單元需要被轉換為具有增加單元容量的新結構。其次,只要該轉換在運行,則為舊和新數據結構一起分配的存儲器數量多于舊結構自己的兩倍。這在一方面意味著系統在轉換操作之外必須提供比實際所需多得多的存儲器。其次,對于操作環境現今通常提供的自動存儲器管理系統有額外的努力。
自動存儲器管理系統上的負荷在諸如嵌入式系統或者智能電話之類在計算能力和/或存儲器訪問速度方面具有極有限資源的設備中尤其成問題。在范圍的另一端,使用許多吉字節工作存儲器的大型服務器級機器上的應用也遭遇由自動存儲器管理上的高負荷引起的問題以及由此帶來的計算能力和響應的損失。
總之,用于頻繁改變的表格數據的傳統壓縮面向列的存儲系統遭受以下缺點:用于轉換一列數據的增加的處理時間,以及臨時加倍的存儲器消耗(以及自動存儲器管理上的與之相關的負荷)。
因此本發明底下的技術問題是提供在存儲器和處理能力消耗方面更加資源高效的用于存儲表格數據的改進的方法和系統,由此至少部分地克服現有技術的上述缺點。
發明內容
該問題根據本發明的一個方面由一種在面向列的存儲系統(例如數據庫、數據庫管理系統(即包括數據庫和用于訪問該數據庫的處理邏輯的系統),或者任何其他可操作來存儲表格數據的存儲系統,即一般指“表格存儲裝置”)中在具有列和行的表格數據結構中存儲數據的方法解決。在權利要求1的實施例中,該方法包括以下步驟:
a.將列中的至少一個劃分為多個段,其中每個段具有相關聯的單元尺寸,該單元尺寸指示相應段中的數據項的最大尺寸;
b.當將數據項存儲到所述段中的一個中時,
-判定該數據項的尺寸是否超過該段的單元尺寸;并且
-如果該數據項的尺寸超過該段的單元尺寸,則適應性改變該段的單元尺寸以適應該數據項的尺寸;
c.其中適應性改變該段的單元尺寸以適應該數據項的尺寸是獨立于所述多個段中的其他段的單元尺寸而執行的。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于軟件股份公司,未經軟件股份公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310258423.9/2.html,轉載請聲明來源鉆瓜專利網。





