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字节的海量数据层出不穷。为了有效地管理海量数据,目前提出了压缩数据库技术,压缩数据库技术可以提高海量数据的存储效率,而且可以提高数据库的吞吐量等性能。现有方案通常采用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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。