[發明專利]一種聚簇存儲方法及裝置有效
| 申請號: | 201410228979.8 | 申請日: | 2014-05-27 |
| 公開(公告)號: | CN104021161B | 公開(公告)日: | 2018-06-15 |
| 發明(設計)人: | 張金玉;周慶慶;張仲良 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京中博世達專利商標代理有限公司 11274 | 代理人: | 申健 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 排序 緩存 內存 存儲 聚簇 數據庫系統 第一數據 計算機技術領域 數據壓縮效率 存儲介質 數據查詢 數據更新 數據裝載 性能影響 預設條件 逐行 | ||
本發明實施例提供一種聚簇存儲方法及裝置,涉及計算機技術領域,能夠在對數據裝載性能和數據更新性能影響較小的同時,提高數據查詢性能和數據壓縮效率。該方法包括:將待存儲的第一數據逐行緩存至數據庫系統中的本地內存中;確定第一排序列,第一排序列用于對本地內存中已緩存的數據進行排序;若本地內存中已緩存的第二數據滿足預設條件,則根據第一排序列對第二數據進行排序,第二數據為第一數據中的已緩存至本地內存中的數據;將排序后的第二數據聚簇存儲至數據庫系統中的存儲介質中。
技術領域
本發明涉及計算機技術領域,尤其涉及一種聚簇存儲方法及裝置。
背景技術
在數據庫中,一般采用數據表存儲數據,常見的數據表存儲結構有三種,分別為堆表(Heap Table)、索引組織表(Index Organization Table,IOT)和聚簇表(ClusterTable)。
現有技術中,采用堆表在存儲介質中存儲數據時,由于每行數據均是按照數據插入的自然順序無序存儲的,因此,對數據裝載性能和數據更新性能影響較小。進一步地,采用堆表在存儲介質中存儲數據后,若需在該堆表的數據中查詢某個數據,則需從堆表的第一行開始逐行進行對比,直到查找到該某個數據。
然而,采用堆表在存儲介質中存儲數據時,由于數據為無序存儲的,且在堆表中查詢數據時,需從堆表的第一行開始逐行進行對比,因此,雖然對數據裝載性能和數據更新性能的影響較小,但是數據壓縮比和數據查詢性能較低。
發明內容
本發明的實施例提供一種聚簇存儲方法及裝置,能夠在對數據裝載性能和數據更新性能影響較小的同時,提高數據查詢性能和數據壓縮效率。
本發明的實施例采用如下技術方案:
第一方面,本發明實施例提供一種聚簇存儲方法,應用于數據庫系統中,包括:
將待存儲的第一數據逐行緩存至所述數據庫系統中的本地內存中;
確定第一排序列,所述第一排序列用于對所述本地內存中已緩存的數據進行排序;
若所述本地內存中已緩存的第二數據滿足預設條件,則根據所述第一排序列對所述第二數據進行排序,所述第二數據為所述第一數據中的已緩存至所述本地內存中的數據;
將排序后的所述第二數據聚簇存儲至所述數據庫系統中的存儲介質中。
在第一方面的第一種可能的實現方式中,
所述預設條件用于表征所述本地內存中已緩存的第二數據的數據量與所述本地內存允許存儲的數據量之間的關系。
結合前述的第一方面或第一方面的第一種可能的實現方式,在第二種可能的實現方式中,所述預設條件為所述第二數據的行數大于或等于第一預設閾值,
其中,所述若所述本地內存中已緩存的第二數據滿足預設條件,則根據所述第一排序列對所述第二數據進行排序,具體包括:
若所述第二數據的行數大于或等于所述第一預設閾值,則根據所述第一排序列對所述第二數據進行排序。
結合前述的第一方面或第一方面的第一種可能的實現方式,在第三種可能的實現方式中,所述預設條件為所述第二數據占用所述本地內存的大小大于或等于第二預設閾值,
其中,所述若所述本地內存中已緩存的第二數據滿足預設條件,則根據所述第一排序列對所述第二數據進行排序,具體包括:
若所述第二數據占用所述本地內存的大小大于或等于所述第二預設閾值,則根據所述第一排序列對所述第二數據進行排序。
結合前述的第一方面或第一方面的第一種可能的實現方式至第三種可能的實現方式中的任一種實現方式,在第四種可能的實現方式中,所述根據所述第一排序列對所述第二數據進行排序,具體包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410228979.8/2.html,轉載請聲明來源鉆瓜專利網。





