CN106372114A - 一种基于大数据的联机分析处理***和方法 - Google Patents
一种基于大数据的联机分析处理***和方法 Download PDFInfo
- Publication number
- CN106372114A CN106372114A CN201610707020.1A CN201610707020A CN106372114A CN 106372114 A CN106372114 A CN 106372114A CN 201610707020 A CN201610707020 A CN 201610707020A CN 106372114 A CN106372114 A CN 106372114A
- Authority
- CN
- China
- Prior art keywords
- module
- cube
- inquiry
- query
- data
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于大数据的联机分析处理***和方法,该***能够在Hadoop环境下针对不同规模级别数据集进行快速多维查询分析。通过查询规划评估选择的查询计划包括支持Hive的MDX查询和基于Hbase预计算缓存机制的多维查询。实现可扩展集群节点上支持Hive数据仓库的MDX查询,基于Hbase预计算缓存机制的多维查询优化,满足不同规模级别数据集的低延迟多维查询需求,解决了单一数据源背景下不同OLAP数据组织模型的OLAP多维查询。针对大规模数据集上的Hive多维查询性能优化问题,提出一种构建基于Hbase缓存的分段逐层降维聚合算法。该算法把解决大规模数据多维查询计算的MOLAP带入了大数据OLAP***中,极大增强了大数据背景下,不同规模级别数据多维查询的可扩展性和高效性。
Description
技术领域
本发明涉及一种大数据的Hadoop(一个开发和运行处理大数据的软件平台)环境下的分析处理方法,尤其涉及一种基于大数据的联机分析处理***和方法。
背景技术
近年来,随着OLAP(联机分析处理)技术的不断发展,OLAP***产品层出不穷,但是大多数都是基于关系型数据库的ROLAP(关系数据库联机分析处理)***或者单一的MOLAP(多维数据库联机分析处理)***。虽然,单节点内存扩展性和面向列的内存数据库技术的不断增强提升了ROLAP***的查询性能。但是,企业级应用产生的TB到PB级数据规模已经突破传统OLAP所能支持的最大查询限度。传统的ROLAP***架构存在的缺陷主要有以下三个方面:
1、传统ROLAP***的MDX(是一种支持多维对象与数据定义和操作的查询语言)查询受到特定数据库的限制、无法完成可扩展集群节点上支持Hive(基于Hadoop的一个数据仓库工具)数据仓库的MDX查询,所述传统ROLAP***架构在扩展性方面成为制约多维查询分析性能的瓶颈因素。
2、在MDX查询中,传统ROLAP***缺乏一定的灵活性。当符合某一特定的分析主题发生变化时,需要同时将针对该主题定义和设计的多维模型需要重新调整,当面对大规模数据处理时传统ROLAP***缺乏灵活性势必会造成分析模型的改变。
3、传统ROLAP是通过基于内存的聚集缓存层中设计聚集表来提高多维查询效率。所以,其只涉及到低纬度的小规模数据多维查询,而在内存中完成聚合计算的性能会受到大规模、高纬度数据量查询需求的制约。同时当面对大规模数据处理时,ROLAP过多的连接操作使得查询处理性能受到制约。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于大数据的联机分析处理***和方法,该***满足不同规模级别数据集多维查询要求,提出的OLAP查询优化的算法和缓存策略极大地降低海量数据下多维查询中的查询延迟问题。根据OLAP***中多维数据模型的构建方法和合适的缓存策略对查询性能的影响,以及大量实时运算而产生的响应和处理时间延迟问题,提出了一种基于Hbase(一个分布式的面向列的开源数据库)缓存的特殊OLAP算法的多维查询解决方案。
本发明的目的是通过以下技术方案来实现的:一种基于大数据的联机分析处理***,该***包括用户接口模块、查询规划模块、MDX查询解释模块、HQL查询解释模块、元数据管理模块、MDX聚集缓存模块、基于Hbase的Cube构建缓存模块和数据存储模块;所述的HQL为一种针对Hadoop的一个数据仓库工具Hive的查询语言;
所述的用户接口模块接受来自用户针对不同规模数据集上的MDX和HQL查询请求,供查询规划模块调用;
所述的MDX查询解释模块负责对MDX进行解释和执行查询处理,完成整个解释和查询计算,实现读取维度成员值和单元格值的联机分析处理即OLAP数据访问功能;
所述的HQL查询解释模块负责HQL查询请求解释,形成相应的查询解释语法树,对查询解释语法树所有节点进行相应的执行规则定义,并生成针对一个查询请求相应的查询模型;根据查询模型判断是否存在请求对应的形式化Cube多维模型,Cube即多维立方体;如果存在与查询匹配的Cube,该模块会遍历和选择以键值对形式保存在Hbase中的Cube进行查询,如果Cube不存在,则基于Hbase的Cube构建缓存会向数据存储模块发送细节数据请求,进行Cube构建;
所述的查询规划模块进行查询计划分析、执行处理;
所述的元数据管理模块负责对维度表数据、Cube元数据和Cube中间结果这些元数据信息进行规范管理;
所述的MDX聚集缓存模块定义多个由内存中一组计算值构成的单元格值,主要负责为查询解释模块逐条或者批量地提供单元格值;
所述的基于Hbase的Cube构建缓存模块负责大规模数据集上的Hive多维查询性能优化,通过遍历子Cube生成树来创建一个完全Cube,将预先计算完成Cube的计算结果保存到Hbase当中,以备离线处理所需查询调用从而达到加快查询速度的目的;
所述的数据存储模块负责为MDX查询解释的单元格值计算提供维度的成员和细节数据,将事实表、维度表和单元格值这些数据分布式存储在不同的可扩展集群节点上。
所述的查询规划模块包括权限控制器、查询***、查询分析器和查询计划分配器;
所述的权限控制器主要针对不同的用户进行Cube操作的权限设置;
所述的查询***主要接受来自多个客户端的多用户查询请求;
所述的查询分析器根据数据规模、实时性要求、存储空间大小和多表连接操作这些指标作为查询评估函数的参数,进行查询评估计算;
所述的查询计划分配器选择查询分析器的计算结果相应的查询计划。
所述的MDX查询解释模块包括创建单元格请求模块、成员读取器对象模块、Schema读取器对象模块和OLAP计算器模块;所述的Schema为一个多维数据库,包含一个逻辑模型;
所述的创建单元格请求模块主要根据当前的一组维度成员上下文环境创建单元格请求,单元格请求中包含所有必要的从聚集缓存层中获取单元格的值的信息;
所述的成员读取器对象模块实现对维度成员的读取;
所述的Schema读取器对象模块实现调用各个维度成员读取器对象;
所述的OLAP计算器实现调用OLAP的Schema读取器对象。
所述的元数据管理模块包括定义模块和Hive表元数据获取模块;
所述的定义模块实现对MDX查询解释中执行MDX语句所需的多维数据模型映射文件和HQL多维查询中的维度表数据进行定义;
所述的Hive表元数据获取模块在建立形式化Cube时,从Hive获取Hive表的元数据。
所述的基于Hbase的Cube构建缓存模块包括形式化定义模块、多维Cube构建模块、Cube计算结果物理化模块和物理化结果存储模块;
所述的形式化定义模块对基于Hbase缓存的Cube模型中包括Cube维度、子Cube维度数目、针对聚合计算前后的子Cube数目计算方法,以及包含两个计算任务实体的子Cube值的计算方法的数据模型的形式化定义;
所述的多维Cube构建模块主要通过Hbase缓存的分段逐层降维聚合算法构建形式化多维Cube;
所述的Cube计算结果物理化模块主要通过Cube数目进行HTable的Region分割策略创建HTable,将创建的HTable转换成Hfile文件,完成Cube计算结果的物理化过程;所述的HTable为Hbase中的一张大的逻辑表Table被划分成的一个或者多个分表,所述的Region为Hbase中的一张大的逻辑表Table被划分成的一个或多个分区,所述的Hfile为Hbase中<Key,Value>键值数据的存储格式;
所述的物理化结果存储模块主要把物理化结果保存到Hbase中,并进行压缩存储处理,以备离线处理所需查询调用。
所述的数据存储模块包括计算模块和存储模块;所述的计算模块主要通过调用相应的缓存模块从Hive数据存储模块读取测试数据,完成聚集计算和Cube预计算;所述的存储模块将预计算的缓存值分别保存在存储模块的Hive和Hbase中。
所述的一种基于大数据的联机分析处理***的处理方法,其特征在于:所述的方法具体实现步骤如下:
S11、接受来自用户接口层的MDX和HQL查询请求;
S12、通过查询规划模块进行查询计划分析、执行处理;
S13、若选择第一查询计划的MDX查询解释模块执行查询,其步骤如下:
S131、MDX查询解释模块会向MDX聚集缓存模块发送单元格请求,判断是否存在单元格值集;
S132、如果单元格在缓存中,直接从MDX聚集缓存模块中获取查询结果;如果单元格不在缓存中,该缓存模块会向数据存储模块发送单元格计算请求;
S133、MDX聚集管理器会进行查询请求创建、缓存对象创建、以及调用基于原始表查询的HQL语句生成方法,进行HQL执行并获取和处理结果集;
S134、当执行简单的多表join操作HQL语句时,首先会分别调用基于原始表查询的HQL语句生成方法,进行各个维度表中成员及其不同级别下维度成员的读取和度量的读取,最后再做聚合计算处理;
S135、将S134中HQL执行之后获取和处理的结果集分配到已经创建好的聚集缓存对象的各个分段中,分段中保存计算单元格的值;
S14、若选择第二查询计划的HQL查询解释模块执行查询,其步骤如下:
S141、解析HQL查询请求,同样形成相应的查询解释语法树;
S142、遍历查询解释语法树,并为所有节点定义相应的执行规则;
S143、遍历查询解释语法树的所有节点,并生成针对一个查询请求相应的查询模型;
S144、根据查询模型判断是否存在查询请求对应的形式化Cube;
S145、如果存在与查询匹配的Cube,HQL查询解释模块遍历和选择以键值对形式保存在Hbase中的形式化子Cube进行查询;如果不存在与查询匹配的Cube,HQL查询解释模块向缓存层发送形式化Cube多维模型的构建请求,然后按照分段逐层降维聚合算法进行基于Hbase缓存的形式化Cube构建;
S15、获取Cube,返回查询结果,查询结束。
所述的一种基于大数据的联机分析处理方法,所述的方法还包括一个构建形式化多为Cube的步骤:
S21、将原始数据输入到Mapper进行数据分块和计算处理;
S22、遍历Mapper处理生成的Cube生成树的Cube分段; 判断Cube分段是否为空;
S23、如果Cube分段为空,转到S29执行;如果Cube分段不为空,将Cube分段输入到Mapper进行计算处理;
S24、遍历Mapper处理生产的Cube分段的层级;判断该层级是否为空;
S25、如果层级为空,转到S29执行;如果层级不为空,将Cube分段层级输入到Mapper进行计算处理;
S26、遍历Mapper处理生产的Cube分段的层级的节点;判断该节点是否为空;
S27、如果节点为空,转到S29执行;如果节点不为空,将每个层级维度组合输入到Mapper进行计算节点处理;
S28、Mapper进行洗牌和排序处理;
S29、Reducer聚集合并处理。
所述的Mapper为封装了MapReduce应用的数据的映射处理逻辑,所述的Reducer为封装了MapReduce应用的数据规约处理逻辑。
所述的一种基于大数据的联机分析处理方法,所述的MDX聚集缓存模块接收MDX查询解释模块的单元格请求后进行如下处理:
S31、接受来自MDX查询解释模块的单元格值的计算请求;
S32、根据查询请求中的列组索引标识,从该聚集缓存层中获取聚合缓存对象并判断该聚合缓存对象是否为空;
S33、如果聚集缓存对象为空说明聚集缓存还未建立,则调用记录单元格请求方法创建请求;同时建立缓存对象并进行单元格的值的计算;
S34、如果聚集缓存对象不为空,则调用聚集缓存对象的获取单元格值的方法,判断聚集缓存对象从缓存中获取单元格值的方法是否为空;
S35、如果S34的方法不为空,该方法内部根据度量查找匹配的分段,调用分段的获取单元格值的方法,根据分段中的信息生成基于聚合表查找情况下的HQL查询语句,从分段的数据集中查找相应的单元格的值;
S36、如果S34方法为空,说明缓存中的聚集缓存对象中没有相应的单元格的值,集合管理器在针对一组列集columns的聚集缓存对象Map<CellKey,OlapCell>中,CellKey为负责访问单元对象CellInfo,OlapCell为最终返回给表现层的单元格值的对象,根据度量的个数创建多个具有相同列集的分段;计算单元格的值则转换成对若干个分段segment[]的求值;其中columns即数据库的逻辑表中的一组列的集合;segment[]的大小是通过不同列集合个数指定segment[]的大小;
S37、根据segments中的信息生成基于原始表查询的HQL语句,执行HQL语句获取HQL结果集,并解析以上结果集;将结果集中的数据填充到行二维数组rows[][]和各列中,该结果集中的每条记录的值包括若干维度列值和若干度量值;其中segments是由一组特定的列值和一个度量值组成的单元格值的集合,rows[][]的大小是通过特定上下文环境中列的个数指定,rows为一个二维数组,可以将执行HQL的结果集数据填充到该数值中;
S38、为每个segments创建数据集对象DataSet,其中,DataSet中存储的单元格值的个数由各限定列的指定值个数乘积决定,若所有限定列都取唯一值,最终决定一个唯一的单元格;
S39、将S37填充到rows[][]中的结果集数据分配给每个分段的DataSet中,确保每个segments的设置数据集方法被调用,从而通过segments的求值计算,完成单元格值的计算。
本发明的有益效果是:一种基于大数据的联机分析处理***和方法,该***能够在Hadoop环境下,针对不同规模级别数据集进行快速多维查询分析。通过查询规划评估选择的查询计划包括支持Hive的MDX查询以及基于Hbase预计算缓存机制的多维查询。实现了可扩展集群节点上支持Hive数据仓库的MDX查询,基于Hbase预计算缓存机制的多维查询优化,满足了不同规模级别数据集的低延迟多维查询需求,解决了单一数据源背景下不同OLAP数据组织模型的OLAP多维查询。针对大规模数据集上的Hive多维查询性能优化问题,提出了一种构建基于Hbase的Cube缓存的分段逐层降维聚合算法。该算法把解决大规模数据多维查询计算的MOLAP带入了大数据OLAP***中,极大地增强了大数据背景下,不同规模级别数据多维查询的可扩展性和高效性。提出了支持Hive的MDX查询解释方法、基于Hbase缓存的Cube构建算法查询优化方案和一种针对以上查询方案的查询规划方法。
附图说明
图1为***功能模块图;
图2为查询规划模块图;
图3为MDX查询解释模块图;
图4为基于Hbase的形式化Cube多维模型图;
图5为基于Hbase的Cube构建缓存模块图;
图6为***查询执行流程图;
图7为HQL查询解释模块图;
图8为MDX聚集缓存模块图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
如图1所示,一种基于大数据的联机分析处理***,该***包括用户接口模块、查询规划模块、MDX查询解释模块、HQL查询解释模块、元数据管理模块、MDX聚集缓存模块、基于Hbase的Cube构建缓存模块和数据存储模块;
所述的用户接口模块接受来自用户针对不同规模数据集上的MDX和HQL查询请求,供查询规划模块调用;
所述的MDX查询解释模块负责对MDX进行解释和执行查询处理,完成整个解释和查询计算,实现读取维度成员值和单元格值的联机分析处理即OLAP数据访问功能;
所述的HQL查询解释模块负责HQL查询请求解释,形成相应的查询解释语法树,对查询解释语法树所有节点进行相应的执行规则定义,并生成针对一个查询请求相应的查询模型;根据查询模型判断是否存在请求对应的形式化Cube多维模型;如果存在与查询匹配的Cube,该模块会遍历和选择以键值对形式保存在Hbase中的Cube进行查询,如果Cube不存在,则基于Hbase的Cube构建缓存会向数据存储模块发送细节数据请求,按照相应的算法进行Cube构建;
所述的查询规划模块进行查询计划分析、执行处理;
所述的元数据管理模块负责对维度表数据、Cube元数据和Cube中间结果这些元数据信息进行规范管理;
所述的MDX聚集缓存模块定义多个由内存中一组计算值构成的单元格值,主要负责为查询解释模块逐条或者批量地提供单元格值;
所述的基于Hbase的Cube构建缓存模块负责大规模数据集上的Hive多维查询性能优化,通过遍历子Cube生成树来创建一个完全Cube,将预先计算完成Cube的计算结果保存到Hbase当中,以备离线处理所需查询调用从而达到加快查询速度的目的;
所述的数据存储模块负责为MDX查询解释的单元格值计算提供维度的成员和细节数据,将事实表、维度表和单元格值这些数据分布式存储在不同的可扩展集群节点上。
如图2所述,所述的查询规划模块包括权限控制器、查询***、查询分析器和查询计划分配器,根据查询计划分配器选择用MDX查询解释模块查询或者用HQL查询解释模块查询;
所述的权限控制器主要针对不同的用户进行Cube操作的权限设置,用户的权限一般包括访问和构建整个Cube及其子Cube的权限;
所述的查询***主要接受来自多个客户端的多用户查询请求;
所述的查询分析器根据数据规模、实时性要求、存储空间大小和多表连接操作这些指标作为查询评估函数的参数,进行查询评估计算;
所述的查询计划分配器选择查询分析器的计算结果相应的查询计划。
如图3所示, 所述的MDX查询解释模块包括创建单元格请求模块、成员读取器对象模块、Schema读取器对象模块和OLAP计算器模块;
由于MDX查询语句包含行轴、列轴和切片轴对象。所以该查询语句的结果集为若干个OLAP轴对象和一个单元格值集。每个OLAP轴对象由若干个包含维度成员集合的位置对象组成。当一条成员表达式的MDX语句被请求时,MDX语句会被解释为维度成员和单元格的读取,通过构造单元格计算请求实现单元格的读取。
OLAP计算器模块调用OLAP的Schema读取器对象模块,Schema读取器对象模块将会逐一地调用各个维度成员读取器对象进行维度成员读取。为了提高OLAP数据访问速度,将使用快速成员读取器来快速获取所需要的维度成员值;由于,维度存在一个由若干个不同级别构成的层次关系;所以,读取维度成员值时,会缓存维度层次关系下的所有级别所包括的成员。
创建单元格请求模块根据当前的一组维度成员上下文环境创建单元格请求。单元格请求中包含了所有必要的从聚集缓存层中获取单元格的值的信息。当前的一组维度成员的交集便是要求值的单元格。通过调用查询请求类的方法,把各个成员对应的列和列值加载到查询请求类中。
MDX查询解释模块将单元格计算请求发送到MDX聚集缓存模块,调用聚合管理器进行单元格计算请求的处理。
当MDX聚集缓存模块记录了成批的单元格请求,并保存在请求批处理对象中时。MDX查询解释模块会调用批处理单元格读取类的加载聚集缓存对象的方法,批量读取单元格的值。
所述的元数据管理模块包括定义模块和Hive表元数据获取模块;
所述的定义模块实现对MDX查询解释中执行MDX语句所需的多维数据模型映射文件和HQL多维查询中的维度表数据进行定义;
所述的Hive表元数据获取模块在建立形式化Cube时,从Hive获取Hive表的元数据。元数据管理模块还将元数据保存在数据存储模块中。
所述的基于Hbase的Cube构建缓存模块包括形式化定义模块、多维Cube构建模块、Cube计算结果物理化模块和物理化结果存储模块;
所述的形式化定义模块对基于Hbase缓存的Cube模型中包括Cube维度、子Cube维度数目、针对聚合计算前后的子Cube数目计算方法,以及包含两个计算任务实体的子Cube值的计算方法的数据模型的形式化定义;
如图4所示,所述的多维Cube构建模块主要通过Hbase缓存的分段逐层降维聚合算法构建形式化多维Cube,构建形式化多维Cube的方法如下:
S11、将原始数据输入到Mapper进行数据分块和计算处理;
S12、遍历以上Mapper处理生成的Cube生成树的Cube分段; 判断Cube分段是否为空;
S13、如果Cube分段为空,转到S19执行;如果Cube分段不为空,将以上Cube分段输入到Mapper进行计算处理;
S14、遍历以上Mapper处理生产的Cube分段的层级;判断该层级是否为空;
S15、如果层级为空,转到S19执行;如果层级不为空,将以上Cube分段层级输入到Mapper进行计算处理;
S16、遍历以上Mapper处理生产的Cube分段的层级的节点;判断该节点是否为空;
S17、如果节点为空,转到S19执行;如果节点不为空,将每个层级维度组合输入到Mapper进行计算节点处理;
S18、Mapper进行洗牌和排序处理;
S19、Reducer聚集合并处理。
如图5所示,所述的Cube计算结果物理化模块主要通过Cube数目进行HTable的Region分割策略创建HTable,将创建的HTable转换成Hfile文件,完成Cube计算结果的物理化过程;
所述的物理化结果存储模块主要把物理化结果保存到Hbase中,并进行压缩存储处理,以备离线处理所需查询调用,加快了查询速度。
所述的数据存储模块包括计算模块和存储模块;所述的计算模块根据查询请求执行相应的查询计划,并调用相应的缓存模块从Hive数据存储模块读取测试数据,完成聚集计算和Cube预计算;所述的存储模块将预计算的缓存值分别保存在存储模块的Hive和Hbase中。
如图6所示,一种基于大数据的联机分析处理***的处理方法,所述的方法具体实现步骤如下:
S21、接受来自用户接口层的MDX和HQL查询请求;
S22、通过查询规划模块进行查询计划分析、执行处理;
S23、若选择第一查询计划的MDX查询解释模块执行查询,其步骤如下:
S231、MDX查询解释模块会向MDX聚集缓存模块发送单元格请求,判断是否存在单元格值集;
S232、如果单元格在缓存中,直接从MDX聚集缓存模块中获取查询结果;如果单元格不在缓存中,该缓存模块会向数据存储模块发送单元格计算请求;
S233、MDX聚集管理器会进行查询请求创建、缓存对象创建、以及调用基于原始表查询的HQL语句生成方法,进行HQL执行并获取和处理结果集;
S234、当执行简单的多表join操作HQL语句,比如事实表和事实表、事实表和维度表、一级维度表和二级维度表都通过主键和外键进行join时,首先会分别调用基于原始表查询的HQL语句生成方法,进行各个维度表中成员及其不同级别下维度成员的读取和度量的读取,最后再做聚合计算处理
S235、将以上中间结果集分配到已经创建好的聚集缓存对象的各个分段中,该分段中保存了计算单元格的值;
如图7所示,S24、若选择第二查询计划的HQL查询解释模块执行查询,其步骤如下:
S241、接受HQL请求;
S242、解析HQL查询请求,同样形成相应的查询语法树;
S243、遍历以上查询语法树,并为所有节点定义相应的执行规则;
S244、遍历语法树的所有节点,并生成针对一个查询请求相应的查询模型;
S245、根据以上查询模型判断是否存在查询请求对应的形式化Cube;
S246、如果存在与查询匹配的Cube,HQL查询解释模块会遍历和选择以键值对形式保存在Hbase中的形式化子Cube进行查询;如果不存在与查询匹配的Cube,HQL查询解释模块会向缓存层发送形式化Cube多维模型的构建请求,然后按照分段逐层降维聚合算法进行基于Hbase缓存的形式化Cube构建;
S25、获取Cube,返回查询结果,查询结束。
如图8所示,一种基于大数据的联机分析处理方法,MDX聚集缓存模块接收MDX查询解释模块的单元格请求后进行如下处理:
S31、接受来自MDX查询解释模块的单元格值的计算请求;
S32、根据查询请求中的列组索引标识,从该聚集缓存层中获取聚合缓存对象并判断该聚合缓存对象是否为空;
S33、如果聚集缓存对象为空说明聚集缓存还未建立,则调用记录单元格请求方法创建请求;同时建立的缓存对象并进行单元格的值的计算;
S34、如果聚集缓存对象不为空,则调用聚集缓存对象的获取单元格值的方法,判断聚合缓存对象从缓存中获取单元格值的方法是否为空;
S35、如果S34方法不为空,该方法内部会根据度量查找匹配的分段,调用分段的获取单元格值的方法,根据分段中的信息生成基于聚合表查找情况下的HQL查询语句,从分段的数据集中查找相应的单元格的值;
S36、如果S34方法为空,说明缓存中的聚集缓存对象中没有相应的单元格的值,集合管理器会在针对一组列集columns的聚集缓存对象Map<CellKey,OlapCell>中,根据度量的个数创建多个具有相同列集的分段;计算单元格的值则转换成对若干个分段segment[]的求值;
S37、根据segments中的信息生成基于原始表查询的HQL语句,执行HQL语句获取HQL结果集,并解析以上结果集;将结果集中的数据填充到行二维数组rows[][]和各列中,该结果集中的每条记录的值包括若干维度列值和若干度量值;
S38、为每个segments创建数据集对象DataSet,其中,DataSet中存储的单元格值的个数由各限定列的指定值个数乘积决定,若所有限定列都取唯一值,最终决定一个唯一的单元格;
S39、将S37填充到rows[][]中的结果集数据分配给每个分段的DataSet中,确保每个segments的设置数据集方法被调用,从而通过segments的求值计算,完成单元格值的计算。
本发明提出了一种大数据环境下,针对不同规模级别数据进行快速多维查询分析。同时支持Hive的MDX查询解释方法以及基于Hbase预计算缓存机制的多维查询优化方法的OLAP***架构。该***依托于大数据平台上Hadoop、Mapreduce框架及其Hive数据仓库和Hbase分布式数据库等子项目强大的计算和存储能力。根据查询规划方法,通过可扩展集群节点上支持Hive的MDX查询解释技术,以及基于Hbase缓存的Cube构建算法的查询优化技术完成***的设计和实施。
本发明是面向不同规模级别数据集的多维查询需求,解决了单一数据源背景下不同OLAP数据组织模型的OLAP多维查询。提供灵活、快速地多维查询解决方案的软件平台,用户可以通过该平台进行不同规模级别数据的多维查询,包括支持Hive的实时MDX查询、基于Hbase预计算缓存机制的离线多维查询。提供直观的多维查询、报表展示和输出、交互式查询、Cube操作等功能。同时,提供REST Server服务接口,JDBC/ODBC连接,实现Cube缓存管理等服务。大数据OLAP***简洁的用户操作、集成化数据管理、快速查询等特性极大地方便了用户对不同规模数据进行多维查询的灵活性和高效性。通过查询规划方法保证了提供查询规划支持多用户、多任务、多查询的高并发性多维查询特点,通过该方法把支持Hive的实时MDX在线多维查询和基于Hbase预计算缓存机制的离线多维查询划分为第一查询计划和第二查询计划。
查询规划模块包括权限控制器、查询***、查询分析器、查询计划分配器等组件;首先,针对不同的用户进行Cube操作权限设置。用户的权限一般包括,访问和构建整个Cube及其子Cube的权限。然后,查询***接受来自多个客户端的多用户查询请求,设定不同的查询计划;根据数据规模、实时性要求、存储空间大小、多表连接操作等参数作为查询评估函数的参数,进行查询评估计算;最后,通过以上计算结果,查询计划分配器选择查询计划。查询规划评估参数分析如下所示:
数据规模评估:根据用户提交的查询请求针对的数据规模级别进行评估,决策查询计划的执行选择。
实时性要求判断:与基于内存缓存的OLAP***相比,基于磁盘缓存的OLAP***多维查询的实时性好。
存储空间大小评估:根据OLAP***的额外存储空间的大小,决策查询计划的执行选择。
复杂多表连接操作:当涉及到超过十几个表的复杂多表的连接操作时,对于Hive而言可能性能上是一个很大的问题。所以,基于Hive的多表连接查询,可以选择第二查询计划,选择Cube进行多表连接的聚合查找。
本发明的基于Hbase预计算缓存机制的离线多维查询,作为一个Hive的辅助查询加速器希望最终的查询HQL类似于直接在Hive上查询。同时在建立Cube时需要从Hive中获取Hive表的维度表元数据。由于重复缓存Cube数据,会占据额外的存储空间,而且会造成不必要的磁盘I/O,增加了运行时间。所以通过一定的缓存策略,仅仅缓存满足查询条件的计算结果,保存构建完全Cube时生成的临时的子Cube,可以大大节省了空间开销。因此,本发明的基于大数据***的新型OLAP,在针对Cube的缓存策略设计如下:
(1)缓存Cube的策略根据“时间维度”进行人工划分。
(2)通过where条件设置Cube创建的起始时间和结束时间。
(3)按照“时间维度”存在的层次关系进行划分。年、月、日可以是时间维的一个层次关系。在该层次关系由包括年、月、日的三个级别组成。按照“时间维度表”进行缓存策略设置,即选最近3个月的子Cube以及其他可供用户自定义的策略进行缓存。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (9)
1.一种基于大数据的联机分析处理***,其特征在于:该***包括用户接口模块、查询规划模块、MDX查询解释模块、HQL查询解释模块、元数据管理模块、MDX聚集缓存模块、基于Hbase的Cube构建缓存模块和数据存储模块;
所述的用户接口模块接受来自用户针对不同规模数据集上的MDX和HQL查询请求,供查询规划模块调用;
所述的MDX查询解释模块负责对MDX进行解释和执行查询处理,完成整个解释和查询计算,实现读取维度成员值和单元格值的联机分析处理即OLAP数据访问功能;
所述的HQL查询解释模块负责HQL查询请求解释,形成相应的查询解释语法树,对查询解释语法树所有节点进行相应的执行规则定义,并生成针对一个查询请求相应的查询模型;根据查询模型判断是否存在请求对应的形式化Cube多维模型;如果存在与查询匹配的Cube,该模块会遍历和选择以键值对形式保存在Hbase中的Cube进行查询,如果Cube不存在,则基于Hbase的Cube构建缓存会向数据存储模块发送细节数据请求,进行Cube构建;
所述的查询规划模块进行查询计划分析、执行处理;
所述的元数据管理模块负责对维度表数据、Cube元数据和Cube中间结果这些元数据信息进行规范管理;
所述的MDX聚集缓存模块定义多个由内存中一组计算值构成的单元格值,主要负责为查询解释模块逐条或者批量地提供单元格值;
所述的基于Hbase的Cube构建缓存模块负责大规模数据集上的Hive多维查询性能优化,通过遍历子Cube生成树来创建一个完全Cube,将预先计算完成Cube的计算结果保存到Hbase当中,以备离线处理所需查询调用从而达到加快查询速度的目的;
所述的数据存储模块负责为MDX查询解释的单元格值计算提供维度的成员和细节数据,将事实表、维度表和单元格值这些数据分布式存储在不同的可扩展集群节点上。
2.根据权利要求1所述的一种基于大数据的联机分析处理***,其特征在于:所述的查询规划模块包括权限控制器、查询***、查询分析器和查询计划分配器;
所述的权限控制器主要针对不同的用户进行Cube操作的权限设置;
所述的查询***主要接受来自多个客户端的多用户查询请求;
所述的查询分析器根据数据规模、实时性要求、存储空间大小和多表连接操作这些指标作为查询评估函数的参数,进行查询评估计算;
所述的查询计划分配器选择查询分析器的计算结果相应的查询计划。
3.根据权利要求1所述的一种基于大数据的联机分析处理***,其特征在于:所述的MDX查询解释模块包括创建单元格请求模块、成员读取器对象模块、Schema读取器对象模块和OLAP计算器模块;
所述的创建单元格请求模块主要根据当前的一组维度成员上下文环境创建单元格请求,单元格请求中包含所有必要的从聚集缓存层中获取单元格的值的信息;
所述的成员读取器对象模块实现对维度成员的读取;
所述的Schema读取器对象模块实现调用各个维度成员读取器对象;
所述的OLAP计算器实现调用OLAP的Schema读取器对象。
4.根据权利要求1所述的一种基于大数据的联机分析处理***,其特征在于:所述的元数据管理模块包括定义模块和Hive表元数据获取模块;
所述的定义模块实现对MDX查询解释中执行MDX语句所需的多维数据模型映射文件和HQL多维查询中的维度表数据进行定义;
所述的Hive表元数据获取模块在建立形式化Cube时,从Hive获取Hive表的元数据。
5.根据权利要求1所述的一种基于大数据的联机分析处理***,其特征在于:所述的基于Hbase的Cube构建缓存模块包括形式化定义模块、多维Cube构建模块、Cube计算结果物理化模块和物理化结果存储模块;
所述的形式化定义模块对基于Hbase缓存的Cube模型中包括Cube维度、子Cube维度数目、针对聚合计算前后的子Cube数目计算方法,以及包含两个计算任务实体的子Cube值的计算方法的数据模型的形式化定义;
所述的多维Cube构建模块主要通过Hbase缓存的分段逐层降维聚合算法构建形式化多维Cube;
所述的Cube计算结果物理化模块主要通过Cube数目进行HTable的Region分割策略创建HTable,将创建的HTable转换成Hfile文件,完成Cube计算结果的物理化过程;
所述的物理化结果存储模块主要把物理化结果保存到Hbase中,并进行压缩存储处理,以备离线处理所需查询调用。
6.根据权利要求1所述的一种基于大数据的联机分析处理***,其特征在于:所述的数据存储模块包括计算模块和存储模块;所述的计算模块主要通过调用相应的缓存模块从Hive数据存储模块读取测试数据,完成聚集计算和Cube预计算;所述的存储模块将预计算的缓存值分别保存在存储模块的Hive和Hbase中。
7.如权利要求1-6中的任意一项所述的一种基于大数据的联机分析处理***的处理方法,其特征在于:所述的方法具体实现步骤如下:
S11、接受来自用户接口层的MDX和HQL查询请求;
S12、通过查询规划模块进行查询计划分析、执行处理;
S13、若选择第一查询计划的MDX查询解释模块执行查询,其步骤如下:
S131、MDX查询解释模块会向MDX聚集缓存模块发送单元格请求,判断是否存在单元格值集;
S132、如果单元格在缓存中,直接从MDX聚集缓存模块中获取查询结果;如果单元格不在缓存中,该缓存模块会向数据存储模块发送单元格计算请求;
S133、MDX聚集管理器会进行查询请求创建、缓存对象创建、以及调用基于原始表查询的HQL语句生成方法,进行HQL执行并获取和处理结果集;
S134、当执行简单的多表join操作HQL语句时,首先会分别调用基于原始表查询的HQL语句生成方法,进行各个维度表中成员及其不同级别下维度成员的读取和度量的读取,最后再做聚合计算处理;
S135、将S134中HQL执行之后获取和处理的结果集分配到已经创建好的聚集缓存对象的各个分段中,分段中保存计算单元格的值;
S14、若选择第二查询计划的HQL查询解释模块执行查询,其步骤如下:
S141、解析HQL查询请求,同样形成相应的查询解释语法树;
S142、遍历查询解释语法树,并为所有节点定义相应的执行规则;
S143、遍历查询解释语法树的所有节点,并生成针对一个查询请求相应的查询模型;
S144、根据查询模型判断是否存在查询请求对应的形式化Cube;
S145、如果存在与查询匹配的Cube,HQL查询解释模块遍历和选择以键值对形式保存在Hbase中的形式化子Cube进行查询;如果不存在与查询匹配的Cube,HQL查询解释模块向缓存层发送形式化Cube多维模型的构建请求,然后按照分段逐层降维聚合算法进行基于Hbase缓存的形式化Cube构建;
S15、获取Cube,返回查询结果,查询结束。
8.根据权利要求7所述的一种基于大数据的联机分析处理方法,其特征在于:所述的方法还包括一个构建形式化多为Cube的步骤:
S21、将原始数据输入到Mapper进行数据分块和计算处理;
S22、遍历Mapper处理生成的Cube生成树的Cube分段; 判断Cube分段是否为空;
S23、如果Cube分段为空,转到S29执行;如果Cube分段不为空,将Cube分段输入到Mapper进行计算处理;
S24、遍历Mapper处理生产的Cube分段的层级;判断该层级是否为空;
S25、如果层级为空,转到S29执行;如果层级不为空,将Cube分段层级输入到Mapper进行计算处理;
S26、遍历Mapper处理生产的Cube分段的层级的节点;判断该节点是否为空;
S27、如果节点为空,转到S29执行;如果节点不为空,将每个层级维度组合输入到Mapper进行计算节点处理;
S28、Mapper进行洗牌和排序处理;
S29、Reducer聚集合并处理。
9.根据权利要求7所述的一种基于大数据的联机分析处理方法,其特征在于:所述的MDX聚集缓存模块接收MDX查询解释模块的单元格请求后进行如下处理:
S31、接受来自MDX查询解释模块的单元格值的计算请求;
S32、根据查询请求中的列组索引标识,从该聚集缓存层中获取聚合缓存对象并判断该聚合缓存对象是否为空;
S33、如果聚集缓存对象为空说明聚集缓存还未建立,则调用记录单元格请求方法创建请求;同时建立缓存对象并进行单元格的值的计算;
S34、如果聚集缓存对象不为空,则调用聚集缓存对象的获取单元格值的方法,判断聚集缓存对象从缓存中获取单元格值的方法是否为空;
S35、如果S34的方法不为空,该方法内部根据度量查找匹配的分段,调用分段的获取单元格值的方法,根据分段中的信息生成基于聚合表查找情况下的HQL查询语句,从分段的数据集中查找相应的单元格的值;
S36、如果S34方法为空,说明缓存中的聚集缓存对象中没有相应的单元格的值,集合管理器在针对一组列集columns的聚集缓存对象Map<CellKey,OlapCell>中,根据度量的个数创建多个具有相同列集的分段;计算单元格的值则转换成对若干个分段segment[]的求值;
S37、根据segments中的信息生成基于原始表查询的HQL语句,执行HQL语句获取HQL结果集,并解析以上结果集;将结果集中的数据填充到行二维数组rows[][]和各列中,该结果集中的每条记录的值包括若干维度列值和若干度量值;
S38、为每个segments创建数据集对象DataSet,其中,DataSet中存储的单元格值的个数由各限定列的指定值个数乘积决定,若所有限定列都取唯一值,最终决定一个唯一的单元格;
S39、将S37填充到rows[][]中的结果集数据分配给每个分段的DataSet中,确保每个segments的设置数据集方法被调用,从而通过segments的求值计算,完成单元格值的计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610707020.1A CN106372114B (zh) | 2016-08-23 | 2016-08-23 | 一种基于大数据的联机分析处理***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610707020.1A CN106372114B (zh) | 2016-08-23 | 2016-08-23 | 一种基于大数据的联机分析处理***和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106372114A true CN106372114A (zh) | 2017-02-01 |
CN106372114B CN106372114B (zh) | 2019-09-10 |
Family
ID=57878803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610707020.1A Active CN106372114B (zh) | 2016-08-23 | 2016-08-23 | 一种基于大数据的联机分析处理***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106372114B (zh) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107229730A (zh) * | 2017-06-08 | 2017-10-03 | 北京奇虎科技有限公司 | 数据查询方法及装置 |
CN107301206A (zh) * | 2017-06-01 | 2017-10-27 | 华南理工大学 | 一种基于预运算的分布式olap分析方法及*** |
CN107729500A (zh) * | 2017-10-20 | 2018-02-23 | 锐捷网络股份有限公司 | 一种联机分析处理的数据处理方法、装置及后台设备 |
CN107832347A (zh) * | 2017-10-16 | 2018-03-23 | 北京京东尚科信息技术有限公司 | 数据降维方法、***及电子设备 |
CN108009193A (zh) * | 2017-10-19 | 2018-05-08 | 东软集团股份有限公司 | 数据分析方法及装置、存储介质、电子设备 |
CN108280123A (zh) * | 2017-12-11 | 2018-07-13 | 西安烽火软件科技有限公司 | 一种HBase的列聚合方法 |
CN108334554A (zh) * | 2017-12-29 | 2018-07-27 | 上海跬智信息技术有限公司 | 一种新型的olap预计算模型及构建方法 |
CN108388564A (zh) * | 2017-02-03 | 2018-08-10 | 百度在线网络技术(北京)有限公司 | 查询处理方法、装置及其设备 |
CN108520015A (zh) * | 2018-03-21 | 2018-09-11 | 联想(北京)有限公司 | 一种用于创建可视化数据树的方法和装置 |
CN108875042A (zh) * | 2018-06-27 | 2018-11-23 | 中国农业银行股份有限公司 | 一种混合联机分析处理***及数据查询方法 |
CN109086354A (zh) * | 2018-07-17 | 2018-12-25 | 于果鑫 | 一种基于可扩展节点集群的大数据分析处理*** |
CN109213829A (zh) * | 2017-06-30 | 2019-01-15 | 北京国双科技有限公司 | 数据查询方法及装置 |
CN109992594A (zh) * | 2019-03-22 | 2019-07-09 | 跬云(上海)信息科技有限公司 | 基于预计算优化的分布式执行优化方法及*** |
CN109992417A (zh) * | 2019-03-20 | 2019-07-09 | 跬云(上海)信息科技有限公司 | 预计算olap***及实现方法 |
CN110019299A (zh) * | 2017-11-16 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种用于创建或刷新分析型数据仓库的离线数据集合的方法和装置 |
CN110222124A (zh) * | 2019-05-08 | 2019-09-10 | 跬云(上海)信息科技有限公司 | 基于olap的多维数据处理方法及*** |
CN110287272A (zh) * | 2019-06-27 | 2019-09-27 | 南京冰鉴信息科技有限公司 | 一种可配置实时特征提取方法、装置及*** |
CN110309177A (zh) * | 2018-03-23 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 一种数据处理的方法以及相关装置 |
CN110837511A (zh) * | 2019-11-15 | 2020-02-25 | 金蝶软件(中国)有限公司 | 一种数据处理方法、***及相关设备 |
CN111125264A (zh) * | 2019-12-12 | 2020-05-08 | 跬云(上海)信息科技有限公司 | 基于扩展olap模型的超大集合分析方法及装置 |
CN112527385A (zh) * | 2021-02-18 | 2021-03-19 | 成都新希望金融信息有限公司 | 数据加工方法、装置、工作节点及存储介质 |
CN112559567A (zh) * | 2020-12-10 | 2021-03-26 | 跬云(上海)信息科技有限公司 | 适用于olap查询引擎的查询方法及装置 |
CN112597114A (zh) * | 2020-12-23 | 2021-04-02 | 跬云(上海)信息科技有限公司 | 一种基于对象存储的olap预计算引擎优化方法及应用 |
CN112765282A (zh) * | 2021-01-18 | 2021-05-07 | 恒安嘉新(北京)科技股份公司 | 一种数据联机分析处理方法、装置、设备及存储介质 |
CN114020779A (zh) * | 2021-10-22 | 2022-02-08 | 上海卓辰信息科技有限公司 | 自适应优化检索性能数据库及数据查询方法 |
CN115098487A (zh) * | 2022-07-13 | 2022-09-23 | 浙江欧歌科技股份有限公司 | 一种多维的传染病数据分析治理*** |
CN117331992A (zh) * | 2023-09-19 | 2024-01-02 | 上海麦杰科技股份有限公司 | 一种工业大数据处理方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143398B (zh) * | 2019-12-12 | 2021-04-13 | 跬云(上海)信息科技有限公司 | 基于扩展sql函数的超大集合查询方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564160A (zh) * | 2004-04-22 | 2005-01-12 | 重庆市弘越科技有限公司 | 建立及查询多维数据立方体的方法 |
CN101008954A (zh) * | 2007-01-30 | 2007-08-01 | 金蝶软件(中国)有限公司 | 联机分析处理***中多维表达式数据缓存的方法和装置 |
CN103678590A (zh) * | 2013-12-12 | 2014-03-26 | 用友软件股份有限公司 | 基于olap的报表采集装置和报表采集方法 |
CN103955502A (zh) * | 2014-04-24 | 2014-07-30 | 科技谷(厦门)信息技术有限公司 | 一种可视化olap的应用实现方法及*** |
CN104361118A (zh) * | 2014-12-01 | 2015-02-18 | 中国人民大学 | 一种适应协处理器的混合olap查询处理方法 |
CN104794113A (zh) * | 2014-01-16 | 2015-07-22 | 中兴通讯股份有限公司 | 数据处理方法及装置 |
CN105183917A (zh) * | 2015-10-15 | 2015-12-23 | 国家电网公司 | 一种用于多级存储数据的多维分析方法 |
-
2016
- 2016-08-23 CN CN201610707020.1A patent/CN106372114B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564160A (zh) * | 2004-04-22 | 2005-01-12 | 重庆市弘越科技有限公司 | 建立及查询多维数据立方体的方法 |
CN101008954A (zh) * | 2007-01-30 | 2007-08-01 | 金蝶软件(中国)有限公司 | 联机分析处理***中多维表达式数据缓存的方法和装置 |
CN103678590A (zh) * | 2013-12-12 | 2014-03-26 | 用友软件股份有限公司 | 基于olap的报表采集装置和报表采集方法 |
CN104794113A (zh) * | 2014-01-16 | 2015-07-22 | 中兴通讯股份有限公司 | 数据处理方法及装置 |
CN103955502A (zh) * | 2014-04-24 | 2014-07-30 | 科技谷(厦门)信息技术有限公司 | 一种可视化olap的应用实现方法及*** |
CN104361118A (zh) * | 2014-12-01 | 2015-02-18 | 中国人民大学 | 一种适应协处理器的混合olap查询处理方法 |
CN105183917A (zh) * | 2015-10-15 | 2015-12-23 | 国家电网公司 | 一种用于多级存储数据的多维分析方法 |
Non-Patent Citations (3)
Title |
---|
C.K.H. LEE ET AL: ""A hybrid OLAP-association rule mining based quality management system for extracting defect patterns in the garment industry"", 《ELSEVIER》 * |
YUAN-YUAN HUANG ET AL: ""INTELLIGENT FAULT DIAGNOSIS SYSTEM IN LARGE INDUSTRIAL NETWORKS"", 《IEEE》 * |
郭朝鹏 等: ""HAOLAP:基于HADOOP的海量数据OLAP***"", 《计算机研究与发展》 * |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108388564A (zh) * | 2017-02-03 | 2018-08-10 | 百度在线网络技术(北京)有限公司 | 查询处理方法、装置及其设备 |
CN108388564B (zh) * | 2017-02-03 | 2022-11-01 | 百度在线网络技术(北京)有限公司 | 查询处理方法、装置及其设备 |
CN107301206A (zh) * | 2017-06-01 | 2017-10-27 | 华南理工大学 | 一种基于预运算的分布式olap分析方法及*** |
CN107229730A (zh) * | 2017-06-08 | 2017-10-03 | 北京奇虎科技有限公司 | 数据查询方法及装置 |
CN109213829A (zh) * | 2017-06-30 | 2019-01-15 | 北京国双科技有限公司 | 数据查询方法及装置 |
CN107832347A (zh) * | 2017-10-16 | 2018-03-23 | 北京京东尚科信息技术有限公司 | 数据降维方法、***及电子设备 |
CN107832347B (zh) * | 2017-10-16 | 2021-12-31 | 北京京东尚科信息技术有限公司 | 数据降维方法、***及电子设备 |
CN108009193A (zh) * | 2017-10-19 | 2018-05-08 | 东软集团股份有限公司 | 数据分析方法及装置、存储介质、电子设备 |
CN107729500A (zh) * | 2017-10-20 | 2018-02-23 | 锐捷网络股份有限公司 | 一种联机分析处理的数据处理方法、装置及后台设备 |
CN110019299A (zh) * | 2017-11-16 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种用于创建或刷新分析型数据仓库的离线数据集合的方法和装置 |
CN108280123A (zh) * | 2017-12-11 | 2018-07-13 | 西安烽火软件科技有限公司 | 一种HBase的列聚合方法 |
CN108334554B (zh) * | 2017-12-29 | 2021-10-01 | 上海跬智信息技术有限公司 | 一种新型的olap预计算模型及构建方法 |
CN108334554A (zh) * | 2017-12-29 | 2018-07-27 | 上海跬智信息技术有限公司 | 一种新型的olap预计算模型及构建方法 |
CN108520015A (zh) * | 2018-03-21 | 2018-09-11 | 联想(北京)有限公司 | 一种用于创建可视化数据树的方法和装置 |
CN108520015B (zh) * | 2018-03-21 | 2023-02-21 | 联想(北京)有限公司 | 一种用于创建可视化数据树的方法和装置 |
CN110309177B (zh) * | 2018-03-23 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 一种数据处理的方法以及相关装置 |
CN110309177A (zh) * | 2018-03-23 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 一种数据处理的方法以及相关装置 |
CN108875042A (zh) * | 2018-06-27 | 2018-11-23 | 中国农业银行股份有限公司 | 一种混合联机分析处理***及数据查询方法 |
CN109086354A (zh) * | 2018-07-17 | 2018-12-25 | 于果鑫 | 一种基于可扩展节点集群的大数据分析处理*** |
CN109992417A (zh) * | 2019-03-20 | 2019-07-09 | 跬云(上海)信息科技有限公司 | 预计算olap***及实现方法 |
CN109992594A (zh) * | 2019-03-22 | 2019-07-09 | 跬云(上海)信息科技有限公司 | 基于预计算优化的分布式执行优化方法及*** |
CN110222124A (zh) * | 2019-05-08 | 2019-09-10 | 跬云(上海)信息科技有限公司 | 基于olap的多维数据处理方法及*** |
CN110287272A (zh) * | 2019-06-27 | 2019-09-27 | 南京冰鉴信息科技有限公司 | 一种可配置实时特征提取方法、装置及*** |
CN110837511A (zh) * | 2019-11-15 | 2020-02-25 | 金蝶软件(中国)有限公司 | 一种数据处理方法、***及相关设备 |
CN110837511B (zh) * | 2019-11-15 | 2022-08-23 | 金蝶软件(中国)有限公司 | 一种数据处理方法、***及相关设备 |
CN111125264A (zh) * | 2019-12-12 | 2020-05-08 | 跬云(上海)信息科技有限公司 | 基于扩展olap模型的超大集合分析方法及装置 |
CN112559567A (zh) * | 2020-12-10 | 2021-03-26 | 跬云(上海)信息科技有限公司 | 适用于olap查询引擎的查询方法及装置 |
WO2022121098A1 (zh) * | 2020-12-10 | 2022-06-16 | 跬云(上海)信息科技有限公司 | 适用于olap查询引擎的查询方法及装置 |
CN112597114A (zh) * | 2020-12-23 | 2021-04-02 | 跬云(上海)信息科技有限公司 | 一种基于对象存储的olap预计算引擎优化方法及应用 |
CN112597114B (zh) * | 2020-12-23 | 2023-09-15 | 跬云(上海)信息科技有限公司 | 一种基于对象存储的olap预计算引擎优化方法及应用 |
CN112765282B (zh) * | 2021-01-18 | 2023-11-28 | 恒安嘉新(北京)科技股份公司 | 一种数据联机分析处理方法、装置、设备及存储介质 |
CN112765282A (zh) * | 2021-01-18 | 2021-05-07 | 恒安嘉新(北京)科技股份公司 | 一种数据联机分析处理方法、装置、设备及存储介质 |
CN112527385A (zh) * | 2021-02-18 | 2021-03-19 | 成都新希望金融信息有限公司 | 数据加工方法、装置、工作节点及存储介质 |
CN112527385B (zh) * | 2021-02-18 | 2021-11-30 | 成都新希望金融信息有限公司 | 数据加工方法、装置、工作节点及存储介质 |
CN114020779B (zh) * | 2021-10-22 | 2022-07-22 | 上海卓辰信息科技有限公司 | 自适应优化检索性能数据库及数据查询方法 |
CN114020779A (zh) * | 2021-10-22 | 2022-02-08 | 上海卓辰信息科技有限公司 | 自适应优化检索性能数据库及数据查询方法 |
CN115098487A (zh) * | 2022-07-13 | 2022-09-23 | 浙江欧歌科技股份有限公司 | 一种多维的传染病数据分析治理*** |
CN117331992A (zh) * | 2023-09-19 | 2024-01-02 | 上海麦杰科技股份有限公司 | 一种工业大数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106372114B (zh) | 2019-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106372114B (zh) | 一种基于大数据的联机分析处理***和方法 | |
US20200073876A1 (en) | Scalable indexing architecture | |
Ding et al. | Enabling smart transportation systems: A parallel spatio-temporal database approach | |
CN102663116B (zh) | 面向列存储数据仓库的多维olap查询处理方法 | |
Makris et al. | MongoDB Vs PostgreSQL: A comparative study on performance aspects | |
CN103412897B (zh) | 一种基于分布式结构的并行数据处理方法 | |
Ben Brahim et al. | Spatial data extension for Cassandra NoSQL database | |
CN106997386A (zh) | 一种olap预计算模型、自动建模方法及自动建模*** | |
CN102270232B (zh) | 一种存储优化的语义数据查询*** | |
CN108536692A (zh) | 一种执行计划的生成方法、装置及数据库服务器 | |
CN106844703A (zh) | 一种面向数据库一体机的内存数据仓库查询处理实现方法 | |
US11755284B2 (en) | Methods and systems for improved data retrieval and sorting | |
CN105912666A (zh) | 一种面向云平台的混合结构数据高性能存储、查询方法 | |
Malensek et al. | Analytic queries over geospatial time-series data using distributed hash tables | |
CN107943952A (zh) | 一种基于Spark框架进行全文检索的实现方法 | |
CN108595664A (zh) | 一种hadoop环境下的农业数据监控方法 | |
CN108009270A (zh) | 一种基于分布式内存计算的文本检索方法 | |
US20240028615A1 (en) | Methods and systems for indexlet based aggregation | |
Ji et al. | Scalable nearest neighbor query processing based on inverted grid index | |
Ding et al. | Efficient maintenance of continuous queries for trajectories | |
Xu et al. | Semantic connection set-based massive RDF data query processing in Spark environment | |
Nidzwetzki et al. | BBoxDB streams: scalable processing of multi-dimensional data streams | |
Ding et al. | RDB-KV: A cloud database framework for managing massive heterogeneous sensor stream data | |
Choi et al. | ReSKY: Efficient subarray skyline computation in array databases | |
Guo et al. | Cymo: a storage model with query-aware indexing for spatio-temporal big data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |