CN109992594A - 基于预计算优化的分布式执行优化方法及系统 - Google Patents
基于预计算优化的分布式执行优化方法及系统 Download PDFInfo
- Publication number
- CN109992594A CN109992594A CN201910223679.3A CN201910223679A CN109992594A CN 109992594 A CN109992594 A CN 109992594A CN 201910223679 A CN201910223679 A CN 201910223679A CN 109992594 A CN109992594 A CN 109992594A
- Authority
- CN
- China
- Prior art keywords
- node
- leaf node
- data
- cuboid
- optimization
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开一种基于预计算优化的分布式执行优化方法和系统,其中方法包括如下步骤:构建数据立方体Cube,将数据库中的数据按照不同维度的组合预聚合为不同的Cuboid;遍历查询树的各叶子节点,根据所述叶子节点的计算逻辑对所述叶子节点进行节点分类,所述叶子节点的类型包括同任务节点和独立节点;根据所述叶子节点所属的类别确定所述叶子节点对所述Cuboid中的存储数据的操作方式,所述操作方式包括集群操作和独立操作。采用本发明,通过对Cube中的数据进行预聚合,并执行优化的分布式操作,可以提高查询速度,通过横向的增加集群的资源可以满足不断增长的数据量。
Description
技术领域
本发明涉及数据查询技术领域,尤其涉及一种基于预计算优化的分布式执行优化方法及系统。
背景技术
在信息化和数据化的时代,很多企业都会使用传统数据仓库或数据库技术来搭建数据分析平台,期望能从这些数据中挖掘出来价值。但是随着数据量的爆炸增长,原有的技术难以在巨量的数据量下还能保持高效、可靠的查询体验。如何对规模在千万亿级别的数据进行快速的多维分析以进行决策支持,是商务智能和数据挖掘领域的重要课题,也是本发明所解决的问题。
发明内容
本发明实施例提供一种基于预计算优化的分布式执行优化方法及系统,通过对Cube中的数据进行预聚合,并执行优化的分布式操作,可以提高查询速度,通过横向的增加集群的资源可以满足不断增长的数据量。
本发明实施例第一方面提供了一种基于预计算优化的分布式执行优化方法,可包括:
构建数据立方体Cube,将数据库中的数据按照不同维度的组合预聚合为不同的Cuboid;
遍历查询树的各叶子节点,根据叶子节点的计算逻辑对叶子节点进行节点分类,叶子节点的类型包括同任务节点和独立节点;
根据叶子节点所属的类别确定叶子节点对Cuboid中的存储数据的操作方式,操作方式包括集群操作和独立操作。
在一种可能的设计中,上述优化方法还包括:
将数据库中同一项目对应的多维度的项目数据组合在同一Cuboid。
在一种可能的设计中,在根据叶子节点的计算逻辑对叶子节点进行节点分类时,上述优化方法还包括:
将计算逻辑一致的叶子节点划分在一起作为同任务节点;
将分别执行各自的计算逻辑的叶子节点划分为独立节点。
在一种可能的设计中,上述优化方法还包括:
将Cuboid中的目标操作数据放在同一任务的执行逻辑中进行集群操作。
在一种可能的设计中,上述优化方法还包括:
基于独立节点执行数据跨设备间的网络传输。
本发明实施例第二方面提供了一种基于预计算优化的分布式执行优化系统,可包括:
预聚合模块,用于构建数据立方体Cube,将数据库中的数据按照不同维度的组合预聚合为不同的Cuboid;
节点分类模块,用于遍历查询树的各叶子节点,根据叶子节点的计算逻辑对叶子节点进行节点分类,叶子节点的类型包括同任务节点和独立节点;
操作方式确定模块,用于根据叶子节点所属的类别确定叶子节点对Cuboid中的存储数据的操作方式,操作方式包括集群操作和独立操作。
在一种可能的设计中,上述优化系统还包括:
数据组合模块,将数据库中同一项目对应的多维度的项目数据组合在同一Cuboid。
在一种可能的设计中,上述节点分类模块包括:
第一节点划分单元,用于将计算逻辑一致的叶子节点划分在一起作为同任务节点;
第二节点划分单元,用于将分别执行各自的计算逻辑的叶子节点划分为独立节点。
在一种可能的设计中,上述优化系统还包括:
集群操作模块,用于将Cuboid中的目标操作数据放在同一任务的执行逻辑中进行集群操作。
在一种可能的设计中,上述优化系统还包括:
跨设备操作模块,用于基于独立节点执行数据跨设备间的网络传输。
在本发明实施例中,基于原始的数据仓库提出了一种多层次的优化查询方案,解决了在大数据量下,复杂查询无法及时返回的缺陷,极大的提升了查询的速度,并且通过横向的增加集群的资源满足了不断增长的数据量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的一种基于预计算优化的分布式执行优化方法的流程示意图;
图2是本发明实施例提供的一种查询树结构示意图;
图3是本发明实施例提供的一种基于预计算优化的分布式执行优化系统的结构示意图;
图4是本发明实施例提供的节点分类模块的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供的基于预计算优化的分布式执行优化方法可以应用于大数据挖掘的场景中。
下面将结合附图1和附图2,对本发明实施例提供的基于预计算优化的分布式执行优化方法进行详细介绍。
请参见图1,为本发明实施例提供了一种基于预计算优化的分布式执行优化方法的流程示意图。如图1所示,本发明实施例的所述方法可以包括以下步骤S101-步骤S103。
S101,构建数据立方体Cube,将数据库中的数据按照不同维度的组合预聚合为不同的Cuboid。
可以理解的是,上述数据立方体Cube可以是数据库中对于多维度的项目数据的一个抽象,包含了多维分析中不同的维度组合,可以是所有维度的组合,每一种维度组合也可以称之为一个Cuboid即Cube是所有Cuboid的集合。
需要说明的是,优化系统可以将数据库中同一项目对应的多维度的项目数据组合在同一Cuboid。可以理解的是,同一项目可以是具备关联关系的数据维度,例如,学号、分数、排名等可以属于同一项目,其中,学号、分数和排名可以是同一项目的项目数据对应的不同维度。
进一步的,优化系统可以通过构建数据立方体Cube,将数据库中的数据按照不同维度的组合预聚合为不同的Cuboid。
在本发明的具体实现方式中,上述预聚合的过程可以通过下面的例子来说明。假设一张表上有以下几个列:交易号,国家,时间,类型,交易金额,假设我们想要以国家、时间、类型为维度,分析交易金额的总和,则可以建立如表1所示的一个Cuboid:
表1
国家 | 时间 | 类型 | 交易金额总和 |
当原始表有如表2所示的数据时:
表2
国家 | 时间 | 类型 | 地点 | 交易金额 |
China | 2016 | T1 | Shanghai | 100 |
America | 2018 | T2 | New York | 50 |
China | 2016 | T1 | Beijing | 50 |
经过预聚合之后,Cuboid中存储的数据如表3所示:
表3
国家 | 时间 | 类型 | 交易金额总和 |
China | 2016 | T1 | 150 |
America | 2018 | T2 | 50 |
可以看到经过预聚合之后,一方面减少了源数据的条数,另一方面需要计算的指标也提前计算完成,所以当分析师进行实际业务查询时,无需重新对数据执行聚合运算,而是通过预聚合查询引擎,直接读取预计算结果,使其能够在短时间能内对海量数据集进行灵活分析。
S102,遍历查询树的各叶子节点,根据叶子节点的计算逻辑对叶子节点进行节点分类。
可以理解的是,查询树中可以存在计算逻辑一致的叶子节点和计算逻辑自成一种的叶子节点。优化系统可以遍历查询树的各叶子节点,根据叶子节点的计算逻辑对叶子节点进行节点分类,其中,叶子节点的类型可以包括同任务节点和独立节点。
在可选实施例中,优化系统可以将计算逻辑一致的叶子节点划分在一起作为同任务节点,将分别执行各自的计算逻辑的叶子节点划分为独立节点。例如,图2中查询树中TableScan/FILTER/PROJECT三个节点会形成一组计算逻辑一模一样的任务,由于数据存放在分布式文件系统上,这些分布在不同集群节点上的任务可以并行的进行计算,上述3个节点对数据的操作不会影响网络间的传输(shuffle),所以这三个节点的操作可以放到同一个任务的执行逻辑中去属于同任务节点,而JOIN节点属于独立节点。
S103,根据叶子节点所属的类别确定叶子节点对Cuboid中的存储数据的操作方式。
可以理解的是,上述操作方式可以包括集群操作和独立操作。具体实现中,优化系统可以将Cuboid中的目标操作数据放在同一任务的执行逻辑中进行集群操作。可选的,优化系统还可以基于独立节点执行数据跨设备间的网络传输。
在本发明实施例中,基于原始的数据仓库提出了一种多层次的优化查询方案,解决了在大数据量下,复杂查询无法及时返回的缺陷,极大的提升了查询的速度,并且通过横向的增加集群的资源满足了不断增长的数据量。
下面将结合附图3和附图4,对本发明实施例提供的基于预计算优化的分布式执行优化系统进行详细介绍。需要说明的是,附图3和附图4所示的优化系统,用于执行本发明图1和图2所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1和图2所示的实施例。
请参见图3,为本发明实施例提供了一种基于预计算优化的分布式执行优化系统的结构示意图。如图3所示,本发明实施例的所述优化系统10可以包括:预聚合模块101、节点分类模块102、操作方式确定模块103、数据组合模块104、集群操作模块105和跨设备操作模块106。其中,节点分类模块102可以包括第一节点划分单元1021和第二节点划分单元1022。
预聚合模块101,用于构建数据立方体Cube,将数据库中的数据按照不同维度的组合预聚合为不同的Cuboid。
可以理解的是,上述数据立方体Cube可以是数据库中对于多维度的项目数据的一个抽象,包含了多维分析中不同的维度组合,可以是所有维度的组合,每一种维度组合也可以称之为一个Cuboid即Cube是所有Cuboid的集合。
需要说明的是,数据组合模块104可以将数据库中同一项目对应的多维度的项目数据组合在同一Cuboid。可以理解的是,同一项目可以是具备关联关系的数据维度,例如,学号、分数、排名等可以属于同一项目,其中,学号、分数和排名可以是同一项目的项目数据对应的不同维度。
进一步的,预聚合模块101可以通过构建数据立方体Cube,将数据库中的数据按照不同维度的组合预聚合为不同的Cuboid。
在本发明的具体实现方式中,上述预聚合的过程可以通过下面的例子来说明。假设一张表上有以下几个列:交易号,国家,时间,类型,交易金额,假设我们想要以国家、时间、类型为维度,分析交易金额的总和,则以建立如表1所示的一个Cuboid:
表1
国家 | 时间 | 类型 | 交易金额总和 |
当原始表有如表2所示的数据时:
表2
国家 | 时间 | 类型 | 地点 | 交易金额 |
China | 2016 | T1 | Shanghai | 100 |
America | 2018 | T2 | New York | 50 |
China | 2016 | T1 | Beijing | 50 |
经过预聚合之后,Cuboid中存储的数据如表3所示:
表3
国家 | 时间 | 类型 | 交易金额总和 |
China | 2016 | T1 | 150 |
America | 2018 | T2 | 50 |
可以看到经过预聚合之后,一方面减少了源数据的条数,另一方面需要计算的指标也提前计算完成,所以当分析师进行实际业务查询时,无需重新对数据执行聚合运算,而是通过预聚合查询引擎,直接读取预计算结果,使其能够在短时间能内对海量数据集进行灵活分析。
节点分类模块102,用于遍历查询树的各叶子节点,根据叶子节点的计算逻辑对叶子节点进行节点分类。
可以理解的是,查询树中可以存在计算逻辑一致的叶子节点和计算逻辑自成一种的叶子节点。节点分类模块102可以遍历查询树的各叶子节点,根据叶子节点的计算逻辑对叶子节点进行节点分类,其中,叶子节点的类型可以包括同任务节点和独立节点。
在可选实施例中,第一节点划分单元1021可以将计算逻辑一致的叶子节点划分在一起作为同任务节点,第二节点划分单元1022可以将分别执行各自的计算逻辑的叶子节点划分为独立节点。例如,图2中查询树中TableScan/FILTER/PROJECT三个节点会形成一组计算逻辑一模一样的任务,由于数据存放在分布式文件系统上,这些分布在不同集群节点上的任务可以并行的进行计算,上述3个节点对数据的操作不会影响网络间的传输(shuffle),所以这三个节点的操作可以放到同一个任务的执行逻辑中去属于同任务节点,而JOIN节点属于独立节点。
操作方式确定模块103,用于根据叶子节点所属的类别确定叶子节点对Cuboid中的存储数据的操作方式。
可以理解的是,上述操作方式可以包括集群操作和独立操作。具体实现中,集群操作模块105可以将Cuboid中的目标操作数据放在同一任务的执行逻辑中进行集群操作。可选的,跨设备操作模块106可以基于独立节点执行数据跨设备间的网络传输。
经过上面划分之后,查询的逻辑计划就转变成了分布式集群上的计算,使查询能够充分利用集群的算力,并且能够并行计算以提高查询的速度。
在本发明实施例中,基于原始的数据仓库提出了一种多层次的优化查询方案,解决了在大数据量下,复杂查询无法及时返回的缺陷,极大的提升了查询的速度,并且通过横向的增加集群的资源满足了不断增长的数据量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种基于预计算优化的分布式执行优化方法,其特征在于,包括:
构建数据立方体Cube,将数据库中的数据按照不同维度的组合预聚合为不同的Cuboid;
遍历查询树的各叶子节点,根据所述叶子节点的计算逻辑对所述叶子节点进行节点分类,所述叶子节点的类型包括同任务节点和独立节点;
根据所述叶子节点所属的类别确定所述叶子节点对所述Cuboid中的存储数据的操作方式,所述操作方式包括集群操作和独立操作。
2.根据如权利要求1所述的方法,其特征在于,所述方法还包括:
将数据库中同一项目对应的多维度的项目数据组合在同一Cuboid。
3.根据如权利要求1所述的方法,其特征在于,在根据所述叶子节点的计算逻辑对所述叶子节点进行节点分类时,所述方法还包括:
将所述计算逻辑一致的叶子节点划分在一起作为所述同任务节点;
将分别执行各自的计算逻辑的叶子节点划分为所述独立节点。
4.根据如权利要求1所述的方法,其特征在于,所述方法还包括:
将所述Cuboid中的目标操作数据放在同一任务的执行逻辑中进行所述集群操作。
5.根据如权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述独立节点执行数据跨设备间的网络传输。
6.一种基于预计算优化的分布式执行优化系统,其特征在于,包括:
预聚合模块,用于构建数据立方体Cube,将数据库中的数据按照不同维度的组合预聚合为不同的Cuboid;
节点分类模块,用于遍历查询树的各叶子节点,根据所述叶子节点的计算逻辑对所述叶子节点进行节点分类,所述叶子节点的类型包括同任务节点和独立节点;
操作方式确定模块,用于根据所述叶子节点所属的类别确定所述叶子节点对所述Cuboid中的存储数据的操作方式,所述操作方式包括集群操作和独立操作。
7.根据如权利要求6所述的系统,其特征在于,所述系统还包括:
数据组合模块,将数据库中同一项目对应的多维度的项目数据组合在同一Cuboid。
8.根据如权利要求6所述的系统,其特征在于,所述节点分类模块包括:
第一节点划分单元,用于将所述计算逻辑一致的叶子节点划分在一起作为所述同任务节点;
第二节点划分单元,用于将分别执行各自的计算逻辑的叶子节点划分为所述独立节点。
9.根据如权利要求6所述的系统,其特征在于,所述系统还包括:
集群操作模块,用于将所述Cuboid中的目标操作数据放在同一任务的执行逻辑中进行所述集群操作。
10.根据如权利要求6所述的系统,其特征在于,所述系统还包括:
跨设备操作模块,用于基于所述独立节点执行数据跨设备间的网络传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910223679.3A CN109992594A (zh) | 2019-03-22 | 2019-03-22 | 基于预计算优化的分布式执行优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910223679.3A CN109992594A (zh) | 2019-03-22 | 2019-03-22 | 基于预计算优化的分布式执行优化方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109992594A true CN109992594A (zh) | 2019-07-09 |
Family
ID=67130824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910223679.3A Pending CN109992594A (zh) | 2019-03-22 | 2019-03-22 | 基于预计算优化的分布式执行优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109992594A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112464454A (zh) * | 2020-11-19 | 2021-03-09 | 广东电网有限责任公司电力调度控制中心 | 一种基于预计算优化的分布式执行优化方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168323A1 (en) * | 2006-01-03 | 2007-07-19 | Microsoft Corporation | Query aggregation |
CN103310011A (zh) * | 2013-07-02 | 2013-09-18 | 曙光信息产业(北京)有限公司 | 集群数据库系统环境下的数据查询解析方法 |
CN104392010A (zh) * | 2014-12-23 | 2015-03-04 | 北京理工大学 | 一种子图匹配的查询方法 |
CN104408106A (zh) * | 2014-11-20 | 2015-03-11 | 浙江大学 | 一种用于分布式文件系统中大数据查询的调度方法 |
CN106372114A (zh) * | 2016-08-23 | 2017-02-01 | 电子科技大学 | 一种基于大数据的联机分析处理系统和方法 |
CN106484875A (zh) * | 2016-10-13 | 2017-03-08 | 广州视源电子科技股份有限公司 | 基于molap的数据处理方法及装置 |
CN106600067A (zh) * | 2016-12-19 | 2017-04-26 | 广州视源电子科技股份有限公司 | 多维立方体模型的优化方法和装置 |
CN108009236A (zh) * | 2017-11-29 | 2018-05-08 | 北京锐安科技有限公司 | 一种大数据查询方法、系统、计算机及存储介质 |
-
2019
- 2019-03-22 CN CN201910223679.3A patent/CN109992594A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168323A1 (en) * | 2006-01-03 | 2007-07-19 | Microsoft Corporation | Query aggregation |
CN103310011A (zh) * | 2013-07-02 | 2013-09-18 | 曙光信息产业(北京)有限公司 | 集群数据库系统环境下的数据查询解析方法 |
CN104408106A (zh) * | 2014-11-20 | 2015-03-11 | 浙江大学 | 一种用于分布式文件系统中大数据查询的调度方法 |
CN104392010A (zh) * | 2014-12-23 | 2015-03-04 | 北京理工大学 | 一种子图匹配的查询方法 |
CN106372114A (zh) * | 2016-08-23 | 2017-02-01 | 电子科技大学 | 一种基于大数据的联机分析处理系统和方法 |
CN106484875A (zh) * | 2016-10-13 | 2017-03-08 | 广州视源电子科技股份有限公司 | 基于molap的数据处理方法及装置 |
CN106600067A (zh) * | 2016-12-19 | 2017-04-26 | 广州视源电子科技股份有限公司 | 多维立方体模型的优化方法和装置 |
CN108009236A (zh) * | 2017-11-29 | 2018-05-08 | 北京锐安科技有限公司 | 一种大数据查询方法、系统、计算机及存储介质 |
Non-Patent Citations (1)
Title |
---|
邵秀丽 等: "PostgreSQL在异构数据集成中间件中的应用研究", 《计算机工程与设计》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112464454A (zh) * | 2020-11-19 | 2021-03-09 | 广东电网有限责任公司电力调度控制中心 | 一种基于预计算优化的分布式执行优化方法及系统 |
CN112464454B (zh) * | 2020-11-19 | 2024-04-05 | 广东电网有限责任公司电力调度控制中心 | 一种基于预计算优化的分布式执行优化方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104700190B (zh) | 一种用于项目与专业人员匹配的方法和装置 | |
CN105975440A (zh) | 一种基于图计算模型的矩阵分解并行化方法 | |
CN103631922A (zh) | 基于Hadoop集群的大规模Web信息提取方法及系统 | |
CN107609141A (zh) | 一种对大规模可再生能源数据进行快速概率建模方法 | |
CN107918639A (zh) | 基于电力大数据主变高峰负荷预测方法及数据仓库系统 | |
CN105205052A (zh) | 一种数据挖掘方法及装置 | |
Wang et al. | TSMH Graph Cube: A novel framework for large scale multi-dimensional network analysis | |
CN106445645A (zh) | 用于执行分布式计算任务的方法和装置 | |
Yang et al. | Parallel co-location pattern mining based on neighbor-dependency partition and column calculation | |
Yang et al. | Efficient discovery of co-location patterns from massive spatial datasets with or without rare features | |
Khare et al. | Finding frequent pattern with transaction and occurrences based on density minimum support distribution | |
Ghosh | Distributing a data base with logical associations on a computer network for parallel searching | |
CN109992594A (zh) | 基于预计算优化的分布式执行优化方法及系统 | |
CN110008239A (zh) | 基于预计算优化的逻辑执行优化方法及系统 | |
CN103870342B (zh) | 云计算环境中的基于结点属性函数的任务核值计算方法 | |
CN105956012A (zh) | 基于图划分策略的数据库模式抽象方法 | |
CN116011564A (zh) | 一种面向电力设备的实体关系补全方法、系统及应用 | |
Huang et al. | PFPMine: A parallel approach for discovering interacting data entities in data-intensive cloud workflows | |
CN107346331A (zh) | 一种基于Spark云计算平台的并行序列模式挖掘方法 | |
Zheng et al. | A sub-assembly division method based on community detection algorithm | |
CN112905639A (zh) | 一种基于规则的新能源数据分发方法 | |
CN101556604A (zh) | 一种面向复杂数据仓库环境的优化策略自动生成方法 | |
Han et al. | Dynamic materialized view management using graph neural network | |
CN107145548A (zh) | 一种基于Spark平台的并行序列模式挖掘方法 | |
Xu et al. | Research on influence evaluation based on RkNN and its application in location problem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190709 |