[發明專利]一種行列混合的數據庫存儲方法有效
| 申請號: | 201210139488.7 | 申請日: | 2012-05-08 |
| 公開(公告)號: | CN102682108A | 公開(公告)日: | 2012-09-19 |
| 發明(設計)人: | 陳琳;張振海 | 申請(專利權)人: | 同方光盤股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京捷誠信通專利事務所(普通合伙) 11221 | 代理人: | 魏殿紳 |
| 地址: | 100084 北京市海淀區清華園清華*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 行列 混合 數據庫 存儲 方法 | ||
技術領域
本發明涉及一種數據庫存儲數據技術,尤其涉及一種面向應用的存儲海量非結構化數據對象的行列混合存儲方法。
背景技術
目前,數據庫管理系統管理的數據以行、列的二維表形式呈現,行對應著記錄,列對應著記錄的字段。
傳統的行式數據庫在存儲數據時,把一行的數據值作為一個一維字符串寫入到內存或硬盤中,因此如果要查詢某條記錄的某個字段值,則需讀取整條記錄。但對于查詢密集型應用來說,大多數查詢往往只用到記錄的一部分字段值。采用行存儲技術,會導致系統在數據的讀取和存儲上存在以下幾個不足之處,在性能上無法滿足應用的需求。
首先,雖然只用到記錄的一部分字段,但現有的行存儲技術使得系統必須將整條記錄全部讀取到緩存中,這樣不僅導致數據讀取速度降低,I/O開銷過大,并且加載不需要的字段也浪費了寶貴的緩存空間,降低緩存命中率,使得后續數據處理延遲,系統的性能受到影響。
其次,記錄的字段可分為查詢常用字段和非常用字段,如果將非常用字段放在廉價設備上,可降低存儲成本。但現有的行存儲技術特點決定了常用字段和不常用字段在磁盤上是連續存儲的,占用了同樣的存儲資源。這不利于資源設備的合理分配。
列式數據庫的出現在一定程度上彌補了行式數據庫的以上不足。它的特點是將記錄按列進行存儲。但這也導致它在查詢應用時存在著一些問題。例如,如果查詢應用的需求是根據某一列的值進行查詢計算,得到相關度最高的前若干條記錄編號,并返回這若干條記錄的某些指定列(字段)的值。列式數據庫在實現這一需求時,因為記錄是按列存儲的,所以在根據某列的值查詢并得到相關記錄編號后,并不能立即得到記錄的其他指定列的值,而是還需要先查找這些指定列,然后再從這些指定列中查找記錄,讀取出記錄的對應值。這一查找過程降低了查詢的性能。
發明內容
為解決上述中存在的問題與缺陷,本發明提供了一種面向應用的存儲海量非結構化數據對象的行列混合的數據庫存儲方法。所述技術方案如下:
一種行列混合的數據庫存儲方法,包括:
創建表及表對應的物理存儲空間,根據應用需求確立列和物理存儲空間的對應關系;
向表中插入記錄,并按列和物理存儲空間的對應關系進行分組;
將記錄的列值作為行寫入到對應的物理存儲空間中。
本發明提供的技術方案的有益效果是:
通過本發明提供的行列混合存儲方法有效地避免了全表查詢,降低了I/O開銷,提高了數據讀取的速度和全文數據庫的查詢性能。
附圖說明
圖1是行列混合的數據庫存儲方法流程圖;
圖2是表的存儲架構設計圖。
具體實施方式
為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施方式作進一步地詳細描述:
本實施例提供了一種行列混合的數據庫存儲方法,其中,
參見圖1,該方法包括以下步驟:
步驟10創建表及表對應的物理存儲空間,根據應用需求確立列和存儲空間的對應關系;
步驟20向表中插入記錄,并按列和物理存儲空間的對應關系進行分組;
步驟30將記錄的列值作為行寫入到對應的物理存儲空間中。
上述步驟10創建表包括創建表的名稱、字段及分配表所需的物理存儲空間,確立列和物理存儲空間的對應關系,上述列即為字段。本實施例中,每個表都對應一個或多個物理存儲空間(如圖2所示),創建表時如果不作特別的指定,系統將自動分配一個默認的物理存儲空間。創建表后,也可以根據數據的動態變化對所需空間進行評估,申請創建新的存儲空間。對于表中的字段,在創建表時可以指定它存儲在哪一個物理存儲空間中,這樣可以將使用頻率較高的列(字段)連續存儲在同一個存儲空間,以提高數據讀取的效率。
上述步驟20中,在向表中插入記錄時,為記錄創建一個在該表中唯一的標識號,并將記錄按列(字段)切分;根據字段和物理存儲空間的映射表,將列值(字段值)進行分組,對應著同一個物理存儲空間的列的列值(字段值)被劃分到同一組,每一組可以視為一個行向量。
上述步驟30在通過將記錄的列值(字段值)分組后,將列值組作為一個行向量(一個一維字符串),寫入到對應的物理存儲空間。由于物理存儲空間中的數據時按記錄標識號進行有序存儲的,因此插入行向量的具體位置也根據記錄標識號的大小來確定。如果該對應物理存儲空間已滿,無法執行插入,則申請開辟一個新的物理存儲空間以進行存儲,并更新字段和存儲空間的映射表。
以上所述僅為本發明的較佳實施例,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于同方光盤股份有限公司,未經同方光盤股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210139488.7/2.html,轉載請聲明來源鉆瓜專利網。





