一种多维数据查询分析的优化方法及其系统技术方案

技术编号:21628260 阅读:35 留言:0更新日期:2019-07-17 10:52
本发明专利技术涉及一种多维数据查询分析的优化方法及其系统,该方法包括获取SQL语句;对SQL语句进行分析拼装处理,获取新SQL语句;根据新SQL语句进行事务管理,连接至对应的数据库;对数据库内的数据聚合,并返回聚合的数据。本发明专利技术利用Rolap多维引擎在大数据量查询过程中的postgresql列存储技术,对新SQL语句进行分析转译以及数据的聚合,利用列存储外部表的数据安装字段按列分开且分文件单独存储,查询时在没有索引的情况下,只需要遍历对应列的数据大大减少数据需要遍历的数据量,可对数据压缩减少占用存储空间,实现解决传统的关系型数据库查询数据的瓶颈,提升查询效率,满足高并发读写需求,具备高扩张性及可用性。

An Optimal Method and System for Multidimensional Data Query Analysis

【技术实现步骤摘要】
一种多维数据查询分析的优化方法及其系统
本专利技术涉及数据处理方法,更具体地说是指一种多维数据查询分析的优化方法及其系统。
技术介绍
目前大数据查询分析的过程一般基于行存储关系型数据库进行,对于关系型数据库而言,其是指采用了关系模型来组织数据的数据库,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织,二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解,因此关系型数据库具有容易理解的优点;通用的SQL语言使得操作关系型数据库非常方便,因此关系型数据库具有使用方便的优点;关系型数据库具有丰富的完整性,实体完整性、参照完整性和用户定义的完整性,大大减低了数据冗余和数据不一致的概率。但是,目前的关系型数据库在使用过程中,存在一些瓶颈:网站的用户并发性非常高,往往达到每秒上万次读写请求,对于传统关系型数据库来说,硬盘I/O是一个很大的瓶颈;网站每天产生的数据量是巨大的,对于关系型数据库来说,在一张包含海量数据的表中查询,效率是非常低的;在基于web的结构当中,数据库是最难进行横向扩展的,当一个应用系统的用户量和访问量与日俱增的时候,数据库却没有办法像webserver和appserver那样简单的通过添加更多的硬件和服务节点来扩展性能和负载能力。对于很多需要提供24小时不间断服务的网站来说,对数据库系统进行升级和扩展是非常痛苦的事情,往往需要停机维护和数据迁移。对于网站而言,关系型数据库的事务一致性、读写实时性以及复杂SQL对网站而言,并无用处,在关系型数据库中,导致性能欠佳的最主要原因是多表的关联查询,以及复杂的数据分析类型的复杂SQL报表查询。因此,有必要设计一种多维数据查询分析的优化方法,实现解决传统的关系型数据库查询数据的瓶颈,提升查询效率,且满足高并发读写需求,具备高扩张性以及可用性。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供一种多维数据查询分析的优化方法及其系统。为实现上述目的,本专利技术采用以下技术方案:一种多维数据查询分析的优化方法,所述方法包括:获取SQL语句;对所述SQL语句进行分析拼装处理,获取新SQL语句;根据新SQL语句进行事务管理,连接至对应的数据库;对数据库内的数据聚合,并返回聚合的数据。其进一步技术方案为:获取SQL语句的步骤,包括以下具体步骤:获取查询指令;将所述查询指令转换为SQL语句。其进一步技术方案为:对所述SQL语句进行分析拼装处理,获取新SQL语句的步骤,包括以下具体步骤:分析SQL语句,获取基本表信息;根据基本表信息获取基本表属性,形成数据库表信息;判断所述基本表属性是否为列存储外部表;若否,则进入结束步骤;若是,则将列存储外部表信息与SQL语句拼装,形成新SQL语句。其进一步技术方案为:对数据库内的数据聚合,并返回聚合的数据的步骤,包括以下具体步骤:将新SQL语句分析转译为执行计划;判断执行计划内是否携带有列存储外部表指令;若是,则对列存储外部表内的数据进行聚合,并返回聚合的数据;若否,则进入结束步骤。本专利技术还提供了一种多维数据查询分析的优化系统,包括SQL语句获取单元、处理单元、连接单元以及聚合单元;所述SQL语句获取单元,用于获取SQL语句;所述处理单元,用于对所述SQL语句进行分析拼装处理,获取新SQL语句;所述连接单元,用于根据新SQL语句进行事务管理,连接至对应的数据库;所述聚合单元,用于对数据库内的数据聚合,并返回聚合的数据。其进一步技术方案为:所述SQL语句获取单元包括查询指令获取模块以及转换模块;所述查询指令获取模块,用于获取查询指令;所述转换模块,用于将所述查询指令转换为SQL语句。其进一步技术方案为:所述处理单元包括分析模块、属性获取模块、属性判断模块以及拼装模块;所述分析模块,用于分析SQL语句,获取基本表信息;所述属性获取模块,用于根据基本表信息获取基本表属性,形成数据库表信息;所述属性判断模块,用于判断所述基本表属性是否为列存储外部表;所述拼装模块,用于若是,则将列存储外部表信息与SQL语句拼装,形成新SQL语句。其进一步技术方案为:所述聚合单元包括转译模块、携带判断模块以及数据聚合模块;所述转译模块,用于将新SQL语句分析转译为执行计划;所述携带判断模块,用于判断执行计划内是否携带有列存储外部表指令;所述数据聚合模块,用于若是,则对列存储外部表内的数据进行聚合,并返回聚合的数据。本专利技术与现有技术相比的有益效果是:本专利技术的一种多维数据查询分析的优化方法,通过获取SQL语句,对SQL语句拼装列存储外部表信息,形成新SQL语句,利用了Rolap多维引擎在大数据量查询过程中的postgresql列存储技术,对新SQL语句进行分析转译以及数据的聚合,利用列存储外部表的数据安装字段按列分开且分文件单独存储,查询时在没有索引的情况下,只需要遍历对应列的数据大大减少数据需要遍历的数据量,并可对数据压缩减少占用存储空间,实现解决传统的关系型数据库查询数据的瓶颈,提升查询效率,且满足高并发读写需求,具备高扩张性以及可用性。下面结合附图和具体实施例对本专利技术作进一步描述。附图说明图1为本专利技术具体实施例提供的一种多维数据查询分析的优化方法的流程图;图2为本专利技术具体实施例提供的获取SQL语句的流程图;图3为本专利技术具体实施例提供的对所述SQL语句进行分析拼装处理的流程图;图4为本专利技术具体实施例提供的对数据库内的数据聚合并返回聚合的数据的流程图;图5为本专利技术具体实施例提供的一种多维数据查询分析的优化方法的结构框图;图6为本专利技术具体实施例提供的SQL语句获取单元的结构框图;图7为本专利技术具体实施例提供的处理单元的结构框图;图8为本专利技术具体实施例提供的聚合单元的结构框图。具体实施方式为了更充分理解本专利技术的
技术实现思路
,下面结合具体实施例对本专利技术的技术方案进一步介绍和说明,但不局限于此。如图1~8所示的具体实施例,本实施例提供的一种多维数据查询分析的优化系统,可以运用在采用终端查询数据的过程中,实现解决传统的关系型数据库查询数据的瓶颈,提升查询效率,且满足高并发读写需求,具备高扩张性以及可用性。如图1所示,一种多维数据查询分析的优化方法,其特征在于,所述方法包括:S1、获取SQL语句;S2、对所述SQL语句进行分析拼装处理,获取新SQL语句;S3、根据新SQL语句进行事务管理,连接至对应的数据库;S4、对数据库内的数据聚合,并返回聚合的数据。对于上述的S1步骤,获取SQL语句的步骤,包括以下具体步骤:S11、获取查询指令;S12、将所述查询指令转换为SQL语句。对于上述的S11步骤,具体是由Rolap多维引擎接收查询指令后把指令通过约定规则解析成SQL语句。更进一步地,上述的S2步骤,对所述SQL语句进行分析拼装处理,获取新SQL语句的步骤,包括以下具体步骤:S21、分析SQL语句,获取基本表信息;S22、根据基本表信息获取基本表属性,形成数据库表信息;S22、判断所述基本表属性是否为列存储外部表;若否,则进入结束步骤;S24、若是,则将列存储外部表信息与SQL语句拼装,形成新SQL语句。上述的S21步骤至S24步骤,具体是对SQL语句进行二次加工,将SQL语句关于表部分的信息拆分,本文档来自技高网
...

【技术保护点】
1.一种多维数据查询分析的优化方法,其特征在于,所述方法包括:获取SQL语句;对所述SQL语句进行分析拼装处理,获取新SQL语句;根据新SQL语句进行事务管理,连接至对应的数据库;对数据库内的数据聚合,并返回聚合的数据。

【技术特征摘要】
1.一种多维数据查询分析的优化方法,其特征在于,所述方法包括:获取SQL语句;对所述SQL语句进行分析拼装处理,获取新SQL语句;根据新SQL语句进行事务管理,连接至对应的数据库;对数据库内的数据聚合,并返回聚合的数据。2.根据权利要求1所述的一种多维数据查询分析的优化方法,其特征在于,获取SQL语句的步骤,包括以下具体步骤:获取查询指令;将所述查询指令转换为SQL语句。3.根据权利要求1或2所述的一种多维数据查询分析的优化方法,其特征在于,对所述SQL语句进行分析拼装处理,获取新SQL语句的步骤,包括以下具体步骤:分析SQL语句,获取基本表信息;根据基本表信息获取基本表属性,形成数据库表信息;判断所述基本表属性是否为列存储外部表;若否,则进入结束步骤;若是,则将列存储外部表信息与SQL语句拼装,形成新SQL语句。4.根据权利要求3所述的一种多维数据查询分析的优化方法,其特征在于,对数据库内的数据聚合,并返回聚合的数据的步骤,包括以下具体步骤:将新SQL语句分析转译为执行计划;判断执行计划内是否携带有列存储外部表指令;若是,则对列存储外部表内的数据进行聚合,并返回聚合的数据;若否,则进入结束步骤。5.一种多维数据查询分析的优化系统,其特征在于,包括SQL语句获取单元、处理单元、连接单元以及聚合单元;所述SQL语句获取单元,用...

【专利技术属性】
技术研发人员:黄瑞廷詹先余伦强郑裕濠李厚铭田科宇
申请(专利权)人:广东亿迅科技有限公司
类型:发明
国别省市:广东,44

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

1