一种Hbase数据库中数据压缩的方法、装置、设备及介质制造方法及图纸

技术编号:33639725 阅读:16 留言:0更新日期:2022-06-02 01:58
本发明专利技术提供了一种Hbase数据库中数据压缩的方法、装置、设备及可读介质,该方法包括:响应于Hbase数据库的写缓存中的数据flush,将数据存储到存储器中的第一区域中;响应于第一区域中的数据超过第一阈值,将第一区域中的数据合并成一个大数据;响应于第一区域中的数据超过第二阈值,将第一区域中的数据进行合并,并计算合并后的数据的key值,并将第一区域中合并后的数据存储到第二区域中key值对应的key值区间对应的存储空间中;每经过第二区域的阈值时间后,将第二区域中各个key值区间中的数据各自合并后存储到第三区域中对应的key值区间对应的存储空间中,依次类推,直到将数据存储到第六区域中。通过使用本发明专利技术的方案,能够可以增加I/O的使用率。可以增加I/O的使用率。可以增加I/O的使用率。

【技术实现步骤摘要】
一种Hbase数据库中数据压缩的方法、装置、设备及介质


[0001]本专利技术涉及计算机领域,并且更具体地涉及一种Hbase数据库中数据压缩的方法、装置、设备及可读介质。

技术介绍

[0002]HBase数据库(是一个分布式的、面向列的开源数据库,可存储海量数据,底层数据文件存储在HDFS中)作为大数据领域常用的分布式数据库,其支持千亿行、百万列的数据存储,每当memstore(写缓存)的数据flush(把缓冲区的内容强制的写出)到磁盘后,就形成一个storefile,当storefile的数量越来越大时,会严重影响Hbase数据库的读性能,所以必须将过多的storefile文件进行合并操作。

技术实现思路

[0003]有鉴于此,本专利技术实施例的目的在于提出一种Hbase数据库中数据压缩的方法、装置、设备及可读介质,通过使用本专利技术的技术方案,能够可以增加I/O的使用率,不需要对大量数据文件执行压缩操作,对于有备份要求的数据有天然的优势。
[0004]基于上述目的,本专利技术的实施例的一个方面提供了一种Hbase数据库中数据压缩的方法,包括以下步骤:
[0005]响应于Hbase数据库的写缓存中的数据flush,将数据存储到存储器中的第一区域中;
[0006]响应于第一区域中的数据超过第一阈值,将第一区域中的数据合并成一个大数据;
[0007]响应于第一区域中的数据超过第二阈值,将第一区域中的数据进行合并,并计算合并后的数据的key值,并将第一区域中合并后的数据存储到第二区域中key值对应的key值区间对应的存储空间中;
[0008]每经过第二区域的阈值时间后,将第二区域中各个key值区间中的数据各自合并后存储到第三区域中对应的key值区间对应的存储空间中,每经过第三区域的阈值时间后,将第三区域中各个key值区间中的数据各自合并后存储到第四区域中对应的key值区间对应的存储空间中,依次类推,直到将数据存储到第六区域中。
[0009]根据本专利技术的一个实施例,还包括:
[0010]将存储器划分成六个区域,六个区域分别为第一区域、第二区域、第三区域、第四区域、第五区域和第六区域;
[0011]将第二区域、第三区域、第四区域、第五区域和第六区域的存储空间按照key值的区间划分成若干个小的存储空间。
[0012]根据本专利技术的一个实施例,响应于第一区域中的数据超过第一阈值,将第一区域中的数据合并成一个大数据包括:
[0013]使用第一区域中数据的总大小除于文件数得到计算值;
[0014]判断计算值是否超过设定的第一阈值;
[0015]响应于计算值超过第一阈值,将第一区域中的数据合并成一个大数据。
[0016]根据本专利技术的一个实施例,响应于第一区域中的数据超过第二阈值,将第一区域中的数据进行合并,并计算合并后的数据的key值,并将第一区域中合并后的数据存储到第二区域中key值对应的key值区间对应的存储空间中包括:
[0017]响应于第一区域中的数据总量达到第一区域的存储空间的80%,将第一区域中的数据进行合并;
[0018]通过计算合并后的数据的hash值以得到合并后的数据的key值;
[0019]将第一区域中合并后的数据存储到第二区域中计算的key值对应的key值区间对应的存储空间中。
[0020]本专利技术的实施例的另一个方面,还提供了一种Hbase数据库中数据压缩的装置,装置包括:
[0021]存储模块,存储模块配置为响应于Hbase数据库的写缓存中的数据flush,将数据存储到存储器中的第一区域中;
[0022]合并模块,合并模块配置为响应于第一区域中的数据超过第一阈值,将第一区域中的数据合并成一个大数据;
[0023]计算模块,计算模块配置为响应于第一区域中的数据超过第二阈值,将第一区域中的数据进行合并,并计算合并后的数据的key值,并将第一区域中合并后的数据存储到第二区域中key值对应的key值区间对应的存储空间中;
[0024]处理模块,处理模块配置为每经过第二区域的阈值时间后,将第二区域中各个key值区间中的数据各自合并后存储到第三区域中对应的key值区间对应的存储空间中,每经过第三区域的阈值时间后,将第三区域中各个key值区间中的数据各自合并后存储到第四区域中对应的key值区间对应的存储空间中,依次类推,直到将数据存储到第六区域中。
[0025]根据本专利技术的一个实施例,还包括划分模块,划分模块配置为:
[0026]将存储器划分成六个区域,六个区域分别为第一区域、第二区域、第三区域、第四区域、第五区域和第六区域;
[0027]将第二区域、第三区域、第四区域、第五区域和第六区域的存储空间按照key值的区间划分成若干个小的存储空间。
[0028]根据本专利技术的一个实施例,合并模块还配置为:
[0029]使用第一区域中数据的总大小除于文件数得到计算值;
[0030]判断计算值是否超过设定的第一阈值;
[0031]响应于计算值超过第一阈值,将第一区域中的数据合并成一个大数据。
[0032]根据本专利技术的一个实施例,计算模块还配置为:
[0033]响应于第一区域中的数据总量达到第一区域的存储空间的80%,将第一区域中的数据进行合并;
[0034]通过计算合并后的数据的hash值以得到合并后的数据的key值;
[0035]将第一区域中合并后的数据存储到第二区域中计算的key值对应的key值区间对应的存储空间中。
[0036]本专利技术的实施例的另一个方面,还提供了一种计算机设备,该计算机设备包括:
[0037]至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述任意一项方法的步骤。
[0038]本专利技术的实施例的另一个方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任意一项方法的步骤。
[0039]本专利技术具有以下有益技术效果:本专利技术实施例提供的Hbase数据库中数据压缩的方法,通过响应于Hbase数据库的写缓存中的数据flush,将数据存储到存储器中的第一区域中;响应于第一区域中的数据超过第一阈值,将第一区域中的数据合并成一个大数据;响应于第一区域中的数据超过第二阈值,将第一区域中的数据进行合并,并计算合并后的数据的key值,并将第一区域中合并后的数据存储到第二区域中key值对应的key值区间对应的存储空间中;每经过第二区域的阈值时间后,将第二区域中各个key值区间中的数据各自合并后存储到第三区域中对应的key值区间对应的存储空间中,每经过第三区域的阈值时间后,将第三区域中各个key值区间中的数据各自合并后存储到第四区域中对应的key值区间对应的存储空间中,依次类推,直到将数据存储到第六区域中的技术方案,能够可以增加I/O的使用率,不需要对大量数据文件执行压缩操作,对于有备份要求的数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Hbase数据库中数据压缩的方法,其特征在于,包括以下步骤:响应于Hbase数据库的写缓存中的数据flush,将数据存储到存储器中的第一区域中;响应于第一区域中的数据超过第一阈值,将第一区域中的数据合并成一个大数据;响应于第一区域中的数据超过第二阈值,将第一区域中的数据进行合并,并计算合并后的数据的key值,并将第一区域中合并后的数据存储到第二区域中所述key值对应的key值区间对应的存储空间中;每经过第二区域的阈值时间后,将第二区域中各个key值区间中的数据各自合并后存储到第三区域中对应的key值区间对应的存储空间中,每经过第三区域的阈值时间后,将第三区域中各个key值区间中的数据各自合并后存储到第四区域中对应的key值区间对应的存储空间中,依次类推,直到将数据存储到第六区域中。2.根据权利要求1所述的方法,其特征在于,还包括:将存储器划分成六个区域,所述六个区域分别为第一区域、第二区域、第三区域、第四区域、第五区域和第六区域;将所述第二区域、第三区域、第四区域、第五区域和第六区域的存储空间按照key值的区间划分成若干个小的存储空间。3.根据权利要求1所述的方法,其特征在于,响应于第一区域中的数据超过第一阈值,将第一区域中的数据合并成一个大数据包括:使用第一区域中数据的总大小除于文件数得到计算值;判断计算值是否超过设定的第一阈值;响应于计算值超过第一阈值,将第一区域中的数据合并成一个大数据。4.根据权利要求1所述的方法,其特征在于,响应于第一区域中的数据超过第二阈值,将第一区域中的数据进行合并,并计算合并后的数据的key值,并将第一区域中合并后的数据存储到第二区域中所述key值对应的key值区间对应的存储空间中包括:响应于第一区域中的数据总量达到第一区域的存储空间的80%,将第一区域中的数据进行合并;通过计算合并后的数据的hash值以得到合并后的数据的key值;将第一区域中合并后的数据存储到第二区域中计算的key值对应的key值区间对应的存储空间中。5.一种Hbase数据库中数据压缩的装置,其特征在于,所述装置包括:存储模块,所述存储模块配置为响应于Hbase数据库的写缓存中的数据flush,将数据存储到存储器中的第...

【专利技术属性】
技术研发人员:李勇
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1