CN102609491A - 一种基于列存储的区级数据压缩方法 - Google Patents

一种基于列存储的区级数据压缩方法 Download PDF

Info

Publication number
CN102609491A
CN102609491A CN2012100199459A CN201210019945A CN102609491A CN 102609491 A CN102609491 A CN 102609491A CN 2012100199459 A CN2012100199459 A CN 2012100199459A CN 201210019945 A CN201210019945 A CN 201210019945A CN 102609491 A CN102609491 A CN 102609491A
Authority
CN
China
Prior art keywords
district
compression method
data
statistic
representes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2012100199459A
Other languages
English (en)
Inventor
乐嘉锦
王梅
夏小玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Donghua University
Original Assignee
Donghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Donghua University filed Critical Donghua University
Priority to CN2012100199459A priority Critical patent/CN102609491A/zh
Publication of CN102609491A publication Critical patent/CN102609491A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及一种基于列存储的数据压缩方法,其特征在于包括以下步骤:步骤1、将按列存储的数据进一步划分为多个区;步骤2、为区中的数据定义一组统计信息;步骤3、利用步骤2中的统计信息,为每一个区按顺序定义一组统计量,进行该区数据分布特点的量化估计;步骤4、利用学习得到的区的统计量计算相邻两区之间的相似因子;步骤5、对于一列中的第一个区,依次计算各个统计量的值,采用逐步选择的方法,根据统计值进行压缩方法选择;步骤6、对于剩余第i个区,利用该区的统计值计算相邻两区之间的相似因子;若相似性较高,则直接沿用上一区的压缩策略,否则按照步骤5中压缩方法选择方式,重新选择压缩方法;步骤7、对当前区按获得的压缩方法进行压缩。本发明提供了一种基于列存储的压缩方法,按区进行压缩,并设计了高效的压缩策略选择方法,能够有效的支持面向列存储的海量数据管理。

Description

一种基于列存储的区级数据压缩方法
技术领域
本发明涉及一种基于列存储的区级压缩方法。
背景技术
目前,数据仓库等分析型应用中包含的数据量急剧增加,为了提高读优化(read-optimized)系统的性能,人们开始考虑一种与传统行存储不同的存储方式-----列存储。列存储技术是将数据表以列为单位进行存储,数据表记录中的同一属性值被存储在一起。在进行查询的时候,只需要将需要的列读入内存,减少了读入的数据量,使得系统的查询效率得到提高。然而,数据仓库需要处理的数据量是非常庞大的,这造成查询时大量的I/O。由于CPU处理与磁盘访问发展的不平衡,使得I/O成为了查询的瓶颈。因此,减少I/O的次数能显著的提高查询的效率。而数据压缩则能在一定程度上减少I/O的次数。列存储中,数据具有相同的数据类型,相邻数据之间具有较高的相似性,使得列存储系统和传统的行存储系统相比具有更好的压缩效率。因此,基于列存储的数据压缩成为了一个研究的热点。
研究表明,不同压缩方法对同种数据类型的压缩效果是不同的,同样相同的压缩方法对不同类型数据的压缩效果也是不同的。因此,对不同的数据类型采用不同的压缩方法十分必要。现存的基于列存储的压缩技术往往是建立在整个列上面的,即这些方法将一个列的数据采用同一种压缩方式进行压缩,忽略了局部数据在分布上存在着差异性。由此看来在较小的粒度上面进行压缩可以提高压缩率。然而,为每个区进行学习时间复杂度高,并不可行。因此,如何设计有效的压缩方法成为一项迫切需要解决的任务。
发明内容
本发明的目的是提供一种基于列存储的压缩方法,克服传统方法的局限性,提高压缩率,减少压缩的复杂度。
为了达到上述目的,本发明的技术方案是提供了一种基于列存储的区级数据压缩方法,其特征在于,步骤为:
步骤1、对于按列列存储的数据,任意一个列Ai中的数据在逻辑上对应一个数据段Si,Si∈S,S为所有数据段的集合,将每个数据段均匀分为若干个区,区是一系列连续块的集合;
步骤2、定义一组统计信息,记为集合Ti={t,o,r,s,a,d,n,c,l},其中t表示第i个区的数据类型,o表示i个区是否排序,r表示第i个区中item的数目,s表示区中相同值的数目,a表示区中相同值的总的item条数,d表示区中不同值的数,n表示区中空值的数目,c表示区中相同值连续的平均数目,l表示区中item的平均长度;
步骤3、在步骤2的基础上按顺序定义一组统计量,第i个区的该组统计量记为
Figure BDA0000132910500000021
各统计量分别描述第i区中数据分布的不同特点,依次对应于:区的数据类型,为枚举类型,包括整型、浮点型、字符型、布尔型、变长字符等,区中数据是否排序,区中空值记录所占的百分比,区中相同值所占的百分比,区中相同值连续的平均数目,区中不同值的数目,区中连续块的平均长度;
步骤4、利用区的统计量估计相邻两区数据分布的相似性,定义了第i区与第i+1区之间统计量的相似因子
Figure BDA0000132910500000022
步骤5、对于一列中的第一个区,利用统计量进行压缩方法选择;
步骤6、对于剩余的第i个区,利用步骤4获得其与前一区的相似因子,若相似性较高,则直接沿用上一区的压缩策略,否则利用步骤3中当前区统计值,重新选择压缩方法;
步骤7、对该区按获得的压缩方法进行压缩。
优选地,所述步骤5的特点为采用逐步选择的方式,按顺序依次计算qi中各统计量的值,并根据统计值逐步进行压缩方法选择,将选择过程中最后使用到的统计量下标保存在变量j中。
优选地,所述步骤6的特点为无需为每个区进行所有统计量的学习,利用同一列数据的分布相似性进行压缩方法推荐,减少压缩复杂度,具体为:
6.1、根据上一区的j值,按顺序依次计算当前区的统计量
Figure BDA0000132910500000023
及对应的相似因子;若过程中存在某相似因子小于指定阈值,令当前区的推荐压缩方法=上一区的压缩方法;
6.2、否则,获取当前区的其它统计信息,重复步骤5中选择压缩方法的过程,获取当前区的压缩方法。
本发明的优点是:提供了一种基于列存储的压缩方法,按区进行压缩,并设计了高效的压缩策略选择方法,能够有效的支持面向列存储的海量数据管理。
具体实施方式
为使本发明更明显易懂,兹以一优选实施例详细说明如下。
本发明提供了一种基于列存储的区级数据压缩方法,其步骤为:
步骤1、对于按列列存储的数据,任意一个列Ai中的数据在逻辑上对应一个数据段Si,Si∈S,S为所有数据段的集合,将每个数据段均匀分为若干个区,区是一系列连续块的集合,块中依次存放该列的数据记录(以下记为item);
步骤2、定义一组统计信息,第i个区的统计信息记为集合Ti={t,o,r,s,a,d,n,c,l},其中t表示第i个区的数据类型,o表示i个区是否排序,r表示第i个区中item的数目,s表示区中相同值的数目,a表示区中相同值的总的item条数,d表示区中不同值的数,n表示区中空值的数目,c表示区中相同值连续的平均数目,l表示区中item的平均长度;
步骤3、在步骤2的基础上按顺序定义一组统计量,第i个区的该组统计量记为qi中各统计量的值分别描述第i区中数据分布的不同特点,依次对应于:区的数据类型,包括整型、浮点型、字符型、布尔型、变长字符等,区中数据是否排序,区中空值记录所占的百分比,区中相同值所占的百分比,区中相同值连续的平均数目,区中不同值的数目,区中连续块的平均长度。其中统计量的计算方式如下:
q i 1 = t ; q i 2 = o ; q i 3 = a * 100 / r ; q i 4 = n * 100 / r ; q i 5 = c ; q i 6 = d ; q i 7 = 1 ;
步骤4、利用区的统计量估计相邻两区数据分布的相似性,定义了第i区与第i+1区之间统计量的相似因子
Figure BDA0000132910500000039
步骤5、对于一列中的第一个区,利用步骤2和3,按顺序依次计算该区的各统计值,在现有的压缩方法中选择一个压缩方法,可供选择的压缩方法包括字典编码、游程编码、位图编码、空值编码、整数编码、LZ编码。由于使用LZ编码压缩的数据在查询过程中需全部解压缩,时间复杂度较高,上述过程将其放在压缩策略选择的最后一步。将选择过程中最后使用到的统计值下标保存在变量j中。选择压缩方法的规则如下:
1)初始化推荐压缩策略(以下简称为mtemp)=不压缩;
2)计算
Figure BDA00001329105000000310
若第i个区中的数据是整数类型,则mtemp=整数压缩编码,令j=1;
3)判断第i个区中的数据是否是布尔类型,若是,进一步计算
Figure BDA00001329105000000311
若数据有序,则令mtemp=游程编码,否则无序,则为位图编码,令j=2;
4)若第i个区中的数据不是布尔类型,则计算
Figure BDA00001329105000000312
判断是否成立?若成立,则mtemp=空值编码,j=3;
5)若不成立,则计算
Figure BDA00001329105000000314
判断
Figure BDA00001329105000000315
是否成立?若不成立,则mtemp=字典编码,令j=4。
6)若成立,计算
Figure BDA00001329105000000316
Figure BDA00001329105000000317
则mtemp=游程编码,j=5;否则,若
Figure BDA00001329105000000318
则mtemp=位图编码,令j=6;
7)计算
Figure BDA0000132910500000041
则mtemp=LZ编码,令h=7。
其中,σ1,σ2,σ3,σ4,σ5是用来估计压缩算法的阈值,其具体取值根据数据特点经验给出。
步骤6、对于剩余的区采取基于区的压缩模式。无需对每个区进行压缩方法学习和选择,利用局部连续区之间的数据分布一般情况下具有一致性的特点,进行压缩策略推荐,其步骤为:首先利用步骤4中得到的相似因子,若相似性较高,则直接沿用上一区的压缩策略,否则利用步骤3中当前区的统计量,进行压缩方法的修正,其具体过程如下:
1)、根据上一区的j值,按顺序依次计算当前区的统计量
Figure BDA0000132910500000043
及对应的相似因子;若过程中存在某相似因子小于指定阈值,令当前区的推荐压缩方法=上一区的压缩方法;
2)、否则,获取当前区的其它统计信息,重复步骤5中选择压缩方法的过程,获取当前区的压缩方法步骤
7、对当前区按获得的压缩方法进行压缩。

Claims (3)

1.一种基于列存储的区级数据压缩方法,其特征在于,步骤为:
步骤1、对于按列列存储的数据,任意一个列Ai中的数据在逻辑上对应一个数据段Si,Si∈S,S为所有数据段的集合,将每个数据段均匀分为若干个区,区是一系列连续块的集合;
步骤2、定义一组统计信息,记为集合Ti={t,o,s,a,d,n,c,l},其中t表示第i个区的数据类型,o表示i个区是否排序,r表示第i个区中item的数目,s表示区中相同值的数目,a表示区中相同值的总的item条数,d表示区中不同值的数,n表示区中空值的数目,c表示区中相同值连续的平均数目,l表示区中item的平均长度;
步骤3、在步骤2的基础上按顺序定义一组统计量,第i个区的该组统计量记为各统计量分别描述第i区中数据分布的不同特点,依次对应于:区的数据类型,为枚举类型,包括整型、浮点型、字符型、布尔型、变长字符等,区中数据是否排序,区中空值记录所占的百分比,区中相同值所占的百分比,区中相同值连续的平均数目,区中不同值的数目,区中连续块的平均长度;
步骤4、利用区的统计量估计相邻两区数据分布的相似性,定义了第i区与第i+1区之间统计量的相似因子
Figure FDA0000132910490000012
步骤5、对于一列中的第一个区,利用统计量进行压缩方法选择;
步骤6、对于剩余的第i个区,利用步骤4获得其与前一区的相似因子,若相似性较高,则直接沿用上一区的压缩策略,否则利用步骤3中当前区统计值,重新选择压缩方法;
步骤7、对当前区按获得的压缩方法进行压缩。
2.如权利要求1所述的一种基于列存储的区级数据压缩方法,其特征在于,所述步骤5的特点为采用逐步选择的方式,按顺序依次计算qi中各统计量的值,并根据统计值逐步进行压缩方法选择,将选择过程中最后使用到的统计量下标保存在变量j中。
3.如权利要求1所述的一种基于列存储的区级数据压缩方法,其特征在于,所述步骤6的特点为无需为每个区进行所有统计量的学习,利用同一列数据的分布相似性进行压缩方法推荐,减少压缩复杂度,具体为:
6.1、根据上一区的j值,按顺序依次计算当前区的统计量
Figure FDA0000132910490000013
及对应的相似因子;若过程中存在某相似因子小于指定阈值,令当前区的推荐压缩方法=上一区的压缩方法;
6.2、否则,获取当前区的其它统计信息,重复步骤5中选择压缩方法的过程,获取当前区的压缩方法。
CN2012100199459A 2012-01-20 2012-01-20 一种基于列存储的区级数据压缩方法 Pending CN102609491A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012100199459A CN102609491A (zh) 2012-01-20 2012-01-20 一种基于列存储的区级数据压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012100199459A CN102609491A (zh) 2012-01-20 2012-01-20 一种基于列存储的区级数据压缩方法

Publications (1)

Publication Number Publication Date
CN102609491A true CN102609491A (zh) 2012-07-25

Family

ID=46526863

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012100199459A Pending CN102609491A (zh) 2012-01-20 2012-01-20 一种基于列存储的区级数据压缩方法

Country Status (1)

Country Link
CN (1) CN102609491A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462334A (zh) * 2014-12-03 2015-03-25 天津南大通用数据技术股份有限公司 一种列存数据库的数据压缩方法及装置
CN106156037A (zh) * 2015-03-26 2016-11-23 深圳市腾讯计算机系统有限公司 数据处理方法、装置及系统
CN106250523A (zh) * 2016-08-04 2016-12-21 北京国电通网络技术有限公司 一种分布式列存储系统索引的方法
CN106557469A (zh) * 2015-09-24 2017-04-05 阿里巴巴集团控股有限公司 一种处理数据仓库中数据的方法及装置
CN106649344A (zh) * 2015-10-31 2017-05-10 华为数字技术(苏州)有限公司 一种网络日志压缩方法和装置
CN107193925A (zh) * 2017-05-15 2017-09-22 浙江正泰中自控制工程有限公司 一种基于列式存储技术的实时数据压缩算法
WO2018036290A1 (zh) * 2016-08-26 2018-03-01 华为技术有限公司 一种数据压缩方法及终端
CN108319714A (zh) * 2018-02-08 2018-07-24 中国人民公安大学 一种基于HBase的列存储压缩方法
CN109033271A (zh) * 2018-07-10 2018-12-18 上海达梦数据库有限公司 基于列存储的数据插入方法、装置、服务器及存储介质
CN111010189A (zh) * 2019-10-21 2020-04-14 清华大学 一种对数据集的多路压缩方法、装置及存储介质
CN115269940A (zh) * 2022-09-30 2022-11-01 佳卓智能科技(南通)有限责任公司 一种erp管理系统的数据压缩方法
CN117194355A (zh) * 2023-11-08 2023-12-08 本原数据(北京)信息技术有限公司 基于数据库的数据处理方法、装置和电子设备
CN117235013A (zh) * 2023-11-10 2023-12-15 中科数创(临沂)数字科技有限公司 一种基于人工智能的智慧档案管理方法
CN117435145A (zh) * 2023-12-20 2024-01-23 北京清水爱派建筑设计股份有限公司 一种数字化建筑信息优化存储方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王振玺: "列存储数据区级压缩模式与压缩策略选择方式", 《计算机学报》 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462334A (zh) * 2014-12-03 2015-03-25 天津南大通用数据技术股份有限公司 一种列存数据库的数据压缩方法及装置
CN106156037A (zh) * 2015-03-26 2016-11-23 深圳市腾讯计算机系统有限公司 数据处理方法、装置及系统
CN106156037B (zh) * 2015-03-26 2019-11-12 深圳市腾讯计算机系统有限公司 数据处理方法、装置及系统
CN106557469A (zh) * 2015-09-24 2017-04-05 阿里巴巴集团控股有限公司 一种处理数据仓库中数据的方法及装置
CN106557469B (zh) * 2015-09-24 2020-11-20 创新先进技术有限公司 一种处理数据仓库中数据的方法及装置
CN106649344A (zh) * 2015-10-31 2017-05-10 华为数字技术(苏州)有限公司 一种网络日志压缩方法和装置
CN106649344B (zh) * 2015-10-31 2020-01-10 华为数字技术(苏州)有限公司 一种网络日志压缩方法和装置
CN106250523B (zh) * 2016-08-04 2019-04-16 北京国电通网络技术有限公司 一种分布式列存储系统索引的方法
CN106250523A (zh) * 2016-08-04 2016-12-21 北京国电通网络技术有限公司 一种分布式列存储系统索引的方法
WO2018036290A1 (zh) * 2016-08-26 2018-03-01 华为技术有限公司 一种数据压缩方法及终端
CN107193925B (zh) * 2017-05-15 2019-09-20 浙江正泰中自控制工程有限公司 一种基于列式存储技术的实时数据压缩方法
CN107193925A (zh) * 2017-05-15 2017-09-22 浙江正泰中自控制工程有限公司 一种基于列式存储技术的实时数据压缩算法
CN108319714A (zh) * 2018-02-08 2018-07-24 中国人民公安大学 一种基于HBase的列存储压缩方法
CN109033271B (zh) * 2018-07-10 2021-03-02 上海达梦数据库有限公司 基于列存储的数据插入方法、装置、服务器及存储介质
CN109033271A (zh) * 2018-07-10 2018-12-18 上海达梦数据库有限公司 基于列存储的数据插入方法、装置、服务器及存储介质
CN111010189B (zh) * 2019-10-21 2021-10-26 清华大学 一种对数据集的多路压缩方法、装置及存储介质
CN111010189A (zh) * 2019-10-21 2020-04-14 清华大学 一种对数据集的多路压缩方法、装置及存储介质
CN115269940A (zh) * 2022-09-30 2022-11-01 佳卓智能科技(南通)有限责任公司 一种erp管理系统的数据压缩方法
CN117194355A (zh) * 2023-11-08 2023-12-08 本原数据(北京)信息技术有限公司 基于数据库的数据处理方法、装置和电子设备
CN117194355B (zh) * 2023-11-08 2024-02-13 本原数据(北京)信息技术有限公司 基于数据库的数据处理方法、装置和电子设备
CN117235013A (zh) * 2023-11-10 2023-12-15 中科数创(临沂)数字科技有限公司 一种基于人工智能的智慧档案管理方法
CN117235013B (zh) * 2023-11-10 2024-01-30 中科数创(临沂)数字科技有限公司 一种基于人工智能的智慧档案管理方法
CN117435145A (zh) * 2023-12-20 2024-01-23 北京清水爱派建筑设计股份有限公司 一种数字化建筑信息优化存储方法及系统
CN117435145B (zh) * 2023-12-20 2024-02-13 北京清水爱派建筑设计股份有限公司 一种数字化建筑信息优化存储方法及系统

Similar Documents

Publication Publication Date Title
CN102609491A (zh) 一种基于列存储的区级数据压缩方法
US9043316B1 (en) Visual content retrieval
CN104348490A (zh) 一种基于效果优选的组合数据压缩算法
CN103995887A (zh) 位图索引压缩方法和位图索引解压方法
US9176995B2 (en) Organization of data within a database
CN101241508A (zh) 结构化数据序列的压缩方法
CN102521363A (zh) 基于列分解的列存储数据库数值数据压缩方法
CN107229688A (zh) 一种数据库水平分库分表方法及系统、服务器
CN102737123B (zh) 一种多维数据分布方法
CN104504101A (zh) 一种相似视频的确定方法及装置
CN110069644A (zh) 一种基于深度学习的压缩域大规模图像检索方法
CN104361096B (zh) 一种基于特征富集区域集合的图像检索方法
CN104881449A (zh) 基于流形学习数据压缩哈希的图像检索方法
CN116415159B (zh) 一种海绵城市数据管理方法及系统
CN109582708A (zh) 一种时序数据库系统
CA3068333C (en) Systems and methods for intelligently grouping financial product users into cohesive cohorts
CN103500224A (zh) 一种数据写入方法及装置、数据读取方法及装置
CN104462334A (zh) 一种列存数据库的数据压缩方法及装置
CN104991741B (zh) 一种基于键值模型的情境适配电网大数据存储方法
CN104933143A (zh) 获取推荐对象的方法及装置
CN108319714A (zh) 一种基于HBase的列存储压缩方法
CN109391818B (zh) 一种基于dct变换的快速搜索分形图像压缩方法
CN104133883A (zh) 电话号码归属地数据压缩算法
CN108009847A (zh) 外卖场景下店铺embedding特征提取的方法
CN112734010B (zh) 一种适用于图像识别的卷积神经网络模型压缩方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120725