一种基于Greenplum大规模并行处理数据库的内容快速压缩方法技术

技术编号:25439046 阅读:19 留言:0更新日期:2020-08-28 22:27
本发明专利技术公开了一种基于Greenplum大规模并行处理数据库的内容快速压缩方法,通过C语言,使QuickLZ压缩算法与Greenplum大规模并行处理数据库源码集成;根据标准SQL语句,结合QuickLZ压缩算法或ZLIB压缩算法创建大数据表;然后根据所述大数据表信息和COPY指令,将采用QuickLZ压缩算法的大数据表进行数据导入后;获取并优化SQL查询语句,对采用QuickLZ压缩算法进行压缩存储的大数据表进行数据查询,提供QuickLZ压缩算法与ZLIB压缩算法供使用者选择,并且QuickLZ压缩算法的压缩效率比ZLIB压缩算法高,增加了系统利用率,缩减了数据导入和查询时间,提升资源利用率。

【技术实现步骤摘要】
一种基于Greenplum大规模并行处理数据库的内容快速压缩方法
本专利技术涉及软件大数据处理
,尤其涉及一种基于Greenplum大规模并行处理数据库的内容快速压缩方法。
技术介绍
Greenplum大规模并行处理数据库是新一代数据管理和数据分析解决方案,是具有大规模并行处理(MassivelyParallelProcessing,MPP)的集群数据库软件产品,它包含了大规模并行计算和数据库技术最新的研究成果:无共享/MPP,按列存储数据库,数据库内容压缩,MapReduce,永不停机扩容,多级容错等等。Greenplum大规模并行处理数据库是一套纯软件的解决方案,不配套计算机硬件设施,可以运行在各种各样的服务器平台上,性能取决于计算机硬件,因为Greenplum系统分散在多台机器上,合适的计算机硬件选择和配置对获得最佳性能是至关重要的。Greenplum大规模并行处理数据库能支持至多50PB级的大数据存储和处理,主要事务集中在大数据装载和查询上,而大数据导入过程在实际应用环境中对速度、数据量、数据格式、存储格式等都有较高的性能要求,传统关系型数据库在I/O、网络等系统资源上存在性能瓶颈。Greenplum大规模并行处理数据库对全表内容只支持ZLIB压缩方式,压缩等级越高,压缩速度越慢,使用者只能选择用或不用,无法选择其它压缩算法,造成了应用场景的局限性和特殊性,甚至大多数情况下只能采取不压缩的方式以牺牲磁盘空间来换取高效性能,对大数据导入和查询的时间和磁盘存储都有一定的制约,使资源利用率低。
技术实现思路
本专利技术的目的在于提供一种基于Greenplum大规模并行处理数据库的内容快速压缩方法,提升资源利用率。为实现上述目的,本专利技术提供了一种基于Greenplum大规模并行处理数据库的内容快速压缩方法,包括:通过C语言,使QuickLZ压缩算法与Greenplum大规模并行处理数据库源码集成;根据标准SQL语句,结合QuickLZ压缩算法或ZLIB压缩算法创建大数据表;根据所述大数据表信息和COPY指令,将采用QuickLZ压缩算法的大数据表进行数据导入;获取并优化SQL查询语句,对采用QuickLZ压缩算法进行压缩存储的大数据表进行数据查询。其中,所述通过C语言,使QuickLZ压缩算法与Greenplum大规模并行处理数据库源码集成,包括:通过C语言,将压缩等级为3级的QuickLZ压缩算法与Greenplum大规模并行处理数据库源码集成,并且所述QuickLZ压缩算法与ZLIB压缩算法并列提供压缩存储和解压缩读取功能。其中,所述根据标准SQL语句,结合QuickLZ压缩算法或ZLIB压缩算法创建大数据表,包括:启动Greenplum大规模并行处理数据库和客户端程序,并获取数据库字段和存储模式,且当进行压缩时,根据获取的标准SQL语句,选择QuickLZ压缩算法或者ZLIB压缩算法及对应的压缩等级进行压缩。其中,所述根据标准SQL语句,结合QuickLZ压缩算法或ZLIB压缩算法创建大数据表,还包括:若不需要进行压缩或者压缩等级确定后,根据大数据表的数据格式、分布键和分区信息创建大数据表。其中,根据所述大数据表信息和COPY指令,将采用QuickLZ压缩算法的大数据表进行数据导入,包括:根据所述大数据表信息和所述标准SQL语句的COPY指令,读取数据库元数据,并对数据文件进行读取和解析后,通过所述Greenplum大规模并行处理数据库的主节点将数据整理后下发至每一个数据节点。其中,根据所述大数据表信息和COPY指令,将采用QuickLZ压缩算法的大数据表进行数据导入,还包括:通过所述数据节点接收SQL语句和数据,并对每一条所述数据应用所述QuickLZ压缩算法进行压缩和存储,同时返回状态至所述主节点进行对应状态和元数据的更新。其中,所述获取并优化SQL查询语句,对采用QuickLZ压缩算法进行压缩存储的大数据表进行数据查询,包括:利用所述主节点获取SQL查询语句,同时获取所述大数据表信息后对所述SQL查询语句进行优化,并传输至每一个所述数据节点。其中,所述获取并优化SQL查询语句,对采用QuickLZ压缩算法进行压缩存储的大数据表进行数据查询,还包括:根据接收到的优化后的所述SQL查询语句对压缩数据利用所述QuickLZ解压缩算法进行解压缩,并将解压缩后的数据集进行整理,同时将满足查询条件的数据集返回至所述主节点后,返回数据并更新对应状态。本专利技术的一种基于Greenplum大规模并行处理数据库的内容快速压缩方法,通过C语言,使QuickLZ压缩算法与Greenplum大规模并行处理数据库源码集成,使QuickLZ压缩算法与ZLIB压缩算法并列使用;根据标准SQL语句,结合QuickLZ压缩算法或ZLIB压缩算法创建大数据表;然后根据所述大数据表信息和COPY指令,将采用QuickLZ压缩算法的大数据表进行数据导入后;获取并优化SQL查询语句,对采用QuickLZ压缩算法进行压缩存储的大数据表进行数据查询,提供QuickLZ压缩算法与ZLIB压缩算法两种压缩算法供使用者选择,并且QuickLZ压缩算法的压缩效率比ZLIB压缩算法高,增加了系统利用率,缩减了数据导入和查询时间,提升资源利用率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术提供的一种基于Greenplum大规模并行处理数据库的内容快速压缩方法的步骤示意图。图2是本专利技术提供的采用QuickLZ压缩算法的Greenplum大规模并行处理数据库的大数据表定义流程图。图3是本专利技术提供的采用QuickLZ压缩算法的大数据表进行数据导入的流程图。图4是本专利技术提供的采用QuickLZ压缩算法进行压缩存储的大数据表数据查询流程图。图5是本专利技术提供的Greenplum大规模并行处理数据库框架图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。请参阅图1,本专利技术提供一种基于Greenplum大规模并行处理数据库的内容快速压缩方法,包括:S101、通过C语言,使QuickLZ压缩算法与Greenplum大规模并行处理数据库源码集成。具体的,通过C语言,将压缩等级为3级的QuickLZ压缩算法与Greenplum大规模并行处理数据库源码集成,并且所述QuickLZ压缩算法与ZLIB压缩算法并列提本文档来自技高网
...

【技术保护点】
1.一种基于Greenplum大规模并行处理数据库的内容快速压缩方法,其特征在于,包括:/n通过C语言,使QuickLZ压缩算法与Greenplum大规模并行处理数据库源码集成;/n根据标准SQL语句,结合QuickLZ压缩算法或ZLIB压缩算法创建大数据表;/n根据所述大数据表信息和COPY指令,将采用QuickLZ压缩算法的大数据表进行数据导入;/n获取并优化SQL查询语句,对采用QuickLZ压缩算法进行压缩存储的大数据表进行数据查询。/n

【技术特征摘要】
1.一种基于Greenplum大规模并行处理数据库的内容快速压缩方法,其特征在于,包括:
通过C语言,使QuickLZ压缩算法与Greenplum大规模并行处理数据库源码集成;
根据标准SQL语句,结合QuickLZ压缩算法或ZLIB压缩算法创建大数据表;
根据所述大数据表信息和COPY指令,将采用QuickLZ压缩算法的大数据表进行数据导入;
获取并优化SQL查询语句,对采用QuickLZ压缩算法进行压缩存储的大数据表进行数据查询。


2.如权利要求1所述的一种基于Greenplum大规模并行处理数据库的内容快速压缩方法,其特征在于,所述通过C语言,使QuickLZ压缩算法与Greenplum大规模并行处理数据库源码集成,包括:
通过C语言,将压缩等级为3级的QuickLZ压缩算法与Greenplum大规模并行处理数据库源码集成,并且所述QuickLZ压缩算法与ZLIB压缩算法并列提供压缩存储和解压缩读取功能。


3.如权利要求2所述的一种基于Greenplum大规模并行处理数据库的内容快速压缩方法,其特征在于,所述根据标准SQL语句,结合QuickLZ压缩算法或ZLIB压缩算法创建大数据表,包括:
启动Greenplum大规模并行处理数据库和客户端程序,并获取数据库字段和存储模式,且当进行压缩时,根据获取的标准SQL语句,选择QuickLZ压缩算法或者ZLIB压缩算法及对应的压缩等级进行压缩。


4.如权利要求3所述的一种基于Greenplum大规模并行处理数据库的内容快速压缩方法,其特征在于,所述根据标准SQL语句,结合QuickLZ压缩算法或ZLIB压缩算法创建大数据表,还包括:
若不需要进行压缩或者压缩等级确定后,根据大数据表的数据格式、分布键和分区信息...

【专利技术属性】
技术研发人员:陈海涛
申请(专利权)人:南京聚力云成电子科技有限公司
类型:发明
国别省市:江苏;32

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

1