The embodiment of the invention provides a compression storage method and device, the method includes: obtaining the compression parameter data to be stored, and / or equipment parameters acquisition and storage device to store the corresponding data; according to the compression parameters and / or equipment parameter selection and the data to be stored the corresponding target compression scheme; target using the compression scheme for the data to be stored is compressed and stored. The embodiment of the invention can maximize the advantages of the target compression scheme so as to greatly improve the throughput performance of the database. Also, the embodiment of the invention can choose the most suitable to the current number of nuclear CPU target compression algorithm, which can guarantee the performance of database at the same time, can increase the stability of compression and storage, and can be as much as possible to save storage devices in the cluster resource database.
【技術實現步驟摘要】
一種壓縮存儲方法和裝置
本專利技術涉及計算機
,特別是涉及一種壓縮存儲方法和裝置。
技術介紹
隨著信息技術的發展,特別是Internet技術的發展,各領域的信息量都呈爆炸性增長趨勢,高于1012字節的海量數據層出不窮。為了有效地管理海量數據,目前提出了壓縮數據庫技術,壓縮數據庫技術可以提高海量數據的存儲效率,而且可以提高數據庫的吞吐量等性能?,F有方案通常采用InnoDB內部提供的zlib壓縮算法進行海量數據的壓縮存儲;其中,InnoDB是MySQL數據庫中應用最廣的存儲引擎,zlib可以提供數據壓縮用的函數庫,由此可以節省大約25%—50%左右的存儲空間,且能夠降低IO(輸入輸出,InputOutput)消耗,及提升數據庫的吞吐量。然而,在使用現有方案的過程中,有時會遇到這樣的問題:在數據量基數較大的情況下、繼續頻繁的insert(插入)或者update(更新)操作時,InnoDB所使用B-tree(B-樹)索引本身的特性容易導致數據庫性能的顯著下降,例如,可能導致數據庫的吞吐量下降。
技術實現思路
鑒于上述問題,提出了本專利技術以便提供一種克服上述問題或者至少部分地解決上述問題的一種壓縮存儲方法和裝置。依據本專利技術的一個方面,提供了一種壓縮存儲方法,包括:獲取待存儲數據的壓縮參數,和/或,獲取與待存儲數據對應的存儲設備的設備參數;依據所述壓縮參數和/或設備參數,選擇與所述待存儲數據對應的目標壓縮方案;利用所述目標壓縮方案對所述待存儲數據進行壓縮存儲。可選地,所述壓縮參數包括應用場景參數和/或數據庫架構參數,則所述依據所述壓縮參數和/或設備參數,選擇與 ...
【技術保護點】
一種壓縮存儲方法,包括:獲取待存儲數據的壓縮參數,和/或,獲取與待存儲數據對應的存儲設備的設備參數;依據所述壓縮參數和/或設備參數,選擇與所述待存儲數據對應的目標壓縮方案;利用所述目標壓縮方案對所述待存儲數據進行壓縮存儲。
【技術特征摘要】
1.一種壓縮存儲方法,包括:獲取待存儲數據的壓縮參數,和/或,獲取與待存儲數據對應的存儲設備的設備參數;依據所述壓縮參數和/或設備參數,選擇與所述待存儲數據對應的目標壓縮方案;利用所述目標壓縮方案對所述待存儲數據進行壓縮存儲。2.如權利要求1所述的方法,其特征在于,所述壓縮參數包括應用場景參數和/或數據庫架構參數,則所述依據所述壓縮參數和/或設備參數,選擇與所述待存儲數據對應的目標壓縮方案的步驟,進一步包括:從數據庫的至少一種存儲引擎中選擇與所述應用場景參數和/或數據庫架構參數對應的目標存儲引擎;從所述目標存儲引擎的至少一種壓縮算法中選擇對應的目標壓縮算法,所述目標存儲引擎及其對應的目標壓縮算法組成所述目標壓縮方案。3.如權利要求2所述的方法,其特征在于,所述從數據庫的至少一種存儲引擎中選擇與所述應用場景參數對應的目標存儲引擎的步驟,進一步包括:所述應用場景參數為第一應用場景參數,則選擇對應的第一存儲引擎為目標存儲引擎;或者,所述應用場景參數為第二應用場景參數,則選擇對應的第二存儲引擎為目標存儲引擎;其中,所述第一應用場景參數包括:聯機事務處理場景參數、以及讀密集場景參數中的至少一種;其中,所述第二應用場景參數包括:聯機分析處理場景參數、以及批量裝載和讀密集場景參數中的至少一種。4.如權利要求2所述的方法,其特征在于,所述從數據庫的至少一種存儲引擎中選擇與所述數據庫架構參數對應的目標存儲引擎的步驟,進一步包括:所述數據庫架構參數為第一數據庫架構參數,則選擇對應的第三存儲引擎為目標存儲引擎;或者,所述數據庫架構參數為第二數據庫架構參數,則選擇對應的第四存儲引擎為目標存儲引擎;其中,所述第一數據庫架構參數包括:主從架構參數;或者,所述第二數據庫架構參數包括:非主從架構參數。5.如權利要求1所述的方法,其特征在于,所述壓縮參數包括壓縮指標參數,則所述依據所述壓縮參數和/或設備參數,...
【專利技術屬性】
技術研發人員:王立新,楊挺,
申請(專利權)人:北京奇虎科技有限公司,奇智軟件北京有限公司,
類型:發明
國別省市:北京,11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。