一种提高数据存储与查询性能的方法和系统技术方案

技术编号:33776906 阅读:37 留言:0更新日期:2022-06-12 14:30
本发明专利技术提出了一种提高数据存储与查询性能的方法和系统,通过用户在建立数据表时,根据数据表存储的数据类型,或者数据表中的字段存储的数据类型,为数据表或者数据表中的字段设定压缩参数,通过压缩参数确定数据对应的压缩算法,以及压缩算法是否启用矢量指令集、启用何种矢量指令集进行优化,再对数据进行切分,对切分后的数据根据其类型以及所属的字段或数据表的压缩参数确定对应的压缩方法并进行压缩和存储。本发明专利技术实现了使用CPU内置的矢量指令集优化压缩算法,同时对单数据表中的数据采用多种压缩方式,对数据表中每个字段存储的数据使用更合适的压缩方法进行处理,提高了数据存储和读取的性能。数据存储和读取的性能。数据存储和读取的性能。

【技术实现步骤摘要】
一种提高数据存储与查询性能的方法和系统


[0001]本专利技术涉及数据存储与查询
,尤其涉及一种提高数据存储与查询性能的方法和系统。

技术介绍

[0002]信息化时代,随着数据量不断攀升,以某省电网数据为例,光计量数据每年达到500亿行,大规模的数据对于数据存储工作造成很大挑战,为解决大规模数据的存储问题,一般来讲,各数据库会将数据压缩后存储至硬盘上,但这种方法则面临着压缩效率和解压缩效率较低的问题。
[0003]另一方面,现有数据库面临着快速存储和查询性能跟不上实时分析的时间要求的问题,目前市面已有的数据库不能指定压缩方式,而是系统采用默认的压缩方式。有个别的实现了对于整张数据表指定压缩方式,但没有数据库实现每个字段不同的压缩方式。
[0004]因此,当前还没有一个普遍适用的方法,能够解决无法对数据表的不同字段实现高效压缩的问题。

技术实现思路

[0005]有鉴于此,本专利技术提出了一种提高数据存储与查询性能的方法,用于解决无法对数据表的不同字段实现高效压缩的问题。
[0006]本专利技术的技术方本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种提高数据存储与查询性能的方法,其特征在于,所述一种提高数据存储与查询性能的方法包括以下步骤:S1,用户建立数据表时设定压缩参数;S2,使用CPU内置的矢量指令集优化压缩算法;S3,将数据表中每个字段的数据切分为多个高维矢量,对不同字段使用不同的压缩算法进行压缩,得到压缩数据并存储。2.如权利要求1所述的一种提高数据存储与查询性能的方法,其特征在于,所述步骤S1具体包括:用户建立数据表时,为数据表或者数据表中的字段设定压缩参数,所述压缩参数内容包括:使用何种压缩算法,是否启用矢量指令集,以及启用何种指令集。3.如权利要求2所述的一种提高数据存储与查询性能的方法,其特征在于,所述压缩参数内容中,使用何种压缩算法具体包括:用户建立数据表时,根据数据表存储的数据类型,或者数据表中的字段存储的数据类型,设定压缩参数中对应使用的压缩算法的类型,包括:ID类数据设为String类型对应压缩算法为lz4压缩算法,时序数据对应的压缩算法为delta

of

delta压缩算法,状态数据对应的压缩算法为delta压缩算法,高频且无特殊规律的数据对应包括lzw和zstd的压缩算法。4.如权利要求2所述的一种提高数据存储与查询性能的方法,其特征在于,所述步骤S2具体包括:当所述数据表的压缩参数或者数据表中字段的压缩参数指定启用矢量指令集时,根据所述压缩参数确定要使用的压缩算法以及CPU内置的矢量指令集,并使用所述CPU内置的矢量指令集优化所述压缩算法。5.如权利要求4所述的一种提高数据存储与查询性能的方法,其特征在于,所述使用所述CPU内置的矢量指令集优化所述压缩算法具体包括:若压缩参数中确定要使用的lz4压缩算法,使用CPU内置的矢量指令集进行优化,所述矢量指令集包括:AVX256指令集,用于提升整体压缩速度以及查找性能;若压缩参数中确定要使用的lzw和zstd压缩算法,使用CPU内置的矢量指令集进行优化,所述矢量指令集包括:SSE指令集、NEON指令集,用于提升整体压缩速度以及hash的查找性能。6.如权利要求3所述的一种提高数据存储与查询性能的方法,其特征在于,所述步骤S3具体包括:S3

1,判断切分的字段存储的数据类型是否为String类型,若是,则采用内存池与地址长...

【专利技术属性】
技术研发人员:褚红亮方铭刘显明余腾龙彭谦黄康
申请(专利权)人:国网江西省电力有限公司国家电网有限公司
类型:发明
国别省市:

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

1