CN117056350A - 一种基于自适应的多维分析动态加速方法、***及装置 - Google Patents
一种基于自适应的多维分析动态加速方法、***及装置 Download PDFInfo
- Publication number
- CN117056350A CN117056350A CN202311093350.2A CN202311093350A CN117056350A CN 117056350 A CN117056350 A CN 117056350A CN 202311093350 A CN202311093350 A CN 202311093350A CN 117056350 A CN117056350 A CN 117056350A
- Authority
- CN
- China
- Prior art keywords
- query
- dimension
- common
- summary table
- logic
- 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
- 230000001133 acceleration Effects 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000004141 dimensional analysis Methods 0.000 title claims description 14
- 238000004364 calculation method Methods 0.000 claims abstract description 44
- 238000004458 analytical method Methods 0.000 claims abstract description 37
- 238000005259 measurement Methods 0.000 claims abstract description 11
- 238000013515 script Methods 0.000 claims description 12
- 230000003044 adaptive effect Effects 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims description 8
- 238000005457 optimization Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000002776 aggregation Effects 0.000 claims description 5
- 238000004220 aggregation Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 3
- 238000007405 data analysis Methods 0.000 abstract description 7
- 238000011161 development Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据分析技术领域,公开了一种基于自适应的多维分析动态加速方法、***及装置,其技术方案要点是包括如下步骤:根据动态加速指令,基于数仓中的事实表,构建逻辑模型表,定义逻辑模型表的维度、度量以及计算逻辑;为非可加性指标,建立虚拟计算度量,所述虚拟计算度量通过编程语句定义计算逻辑,所述非可加性指标对应所述虚拟计算度量的总和;为逻辑模型表关联明细表和预汇总表,根据常用分析场景,获取常用查询维度组合,并定义所述预汇总表的维度和度量,所述预汇总表用于为常用查询维度组合进行预计算;响应于查询语句的查询命令,判断是否有与查询语句对应的预汇总表,若有,则路由至对应的预汇总表,若否,则路由至明细表。
Description
技术领域
本发明涉及数据分析技术领域,更具体地说,它涉及一种基于自适应的多维分析动态加速方法、***及装置。
背景技术
在数仓和多维分析领域中,指标有一种特性,叫做可加性。
可加性是指按照各个维度都可以相加的度量值。如销售金额,每一笔明细的销售金额都可以累积起来计算汇总,从地域、部门维度、商品维度、时间维度上销售金额都是可加的。
半可加性是指只能按照特定维度相加才有意义的度量值。如库存,今天的库存和明天库存相加没有意义,但是A地的库存和B地的库存相加就有意义。
不可加性是指无论按照哪个纬度都不可以相加的度量值。主要包含有2大类,一类是相对性指标如毛利率、同比、环比等,另一类是去重性指标如UV。
对于可加性指标,可以采用预汇总表进行加速,以空间换时间来提升查询性能。这类代表性的多维分析引擎有kylin、druid、dremio等。在维度数目很多的情况下,如果对于每种维度组合都建预汇总表的话,数据膨胀率是非常大的。因此一般会根据业务场景,对于经常使用的维度组合创建cube。查询语句在没有直接命中cube的情况下,会从上一级的cube中进行汇总,直到明细表数据。例如建立了一个大区、品类、时间、渠道这四个维度组合的预汇总表。如果要对大区、品类这两个维度进行汇总,则可以从这个预汇总表上进行二次汇总,这可以大大提升查询性能,减少资源消耗。如果没有任何预汇总表可以命中,则从明细数据中进行汇总。
对于非可加性指标,用预汇总表进行加速就比较复杂了。大致可以分成如下三类情况:
1、对于比值类的数据,例如平均值,虽然该度量不具备可加性,但是平均值是根据sum值和count值来进行计算的,而这两个度量是具备可加性的,因此可以通过对这两个度量进行预汇总加速。
2、对于去重类指标,通过一些算法,也可以实现指标的可加性。例如使用hll进行非精确的去重计算,使用bitmap来进行精确去重汇总。
3、但是有一些指标则无法实现可加性,如果通过预汇总表来进行加速,则需要对所有维度组合都进行计算,维度组合数目是按照维度的个数呈指数型增长,可能数据量非常巨大,根本无法实现。另外如果查询条件中加上了不同于分析维度的过滤条件,则根本无法使用预汇总表,还得从明细数据进行计算。通常这类指标的多维分析汇总计算又比较复杂,很难通过简单的SQL语句来满足计算要求。例如复购人数,就要求计算在一个时间段内购买商品天数超过两天以上的会员人数。预汇总数据不是简单的从明细数据中汇总而来,而是有着比较复杂的逻辑运算关系。
这类指标还包括TOP N,新老买家销售额等。在海量数据量下,这类指标的计算有可能非常慢,无法满足业务对性能上的需求。
发明内容
本发明的目的是提供一种基于自适应的多维分析动态加速方法、***及装置,既能够满足任意维度组合的多维分析,同时也可以对常用查询场景进行加速,满足用户需求。
本发明的上述技术目的是通过以下技术方案得以实现的:一种基于自适应的多维分析动态加速方法,包括如下步骤:
根据动态加速指令,基于数仓中的事实表,构建逻辑模型表,定义逻辑模型表的维度、度量以及计算逻辑;为非可加性指标,建立虚拟计算度量,所述虚拟计算度量通过编程语句定义计算逻辑,所述非可加性指标对应所述虚拟计算度量的总和;
为逻辑模型表关联一个明细表和至少一个预汇总表,根据常用分析场景,获取常用查询维度组合,并根据常用查询维度组合定义所述预汇总表的维度和度量,所述预汇总表用于为常用查询维度组合进行预计算;
响应于查询语句的查询命令,判断是否有与查询语句对应的预汇总表,若有,则路由至对应的预汇总表,从预汇总表中直接获取查询结果,若否,则路由至明细表。
作为本发明的一种优选技术方案,计算逻辑包括若干带有带变量的编程语句或脚本,所述计算逻辑中带有待输入参数的算式,在预汇总表进行预计算时,输入参数,对算式进行运算,得到对应的计算结果。
作为本发明的一种优选技术方案,编程语句或脚本还用于在用户查询指定维度组合时,若没有对应的预汇总表,则通过编程语句或脚本,在明细表中获取相应数据进行计算,得到对应的查询结果。
作为本发明的一种优选技术方案,所述逻辑模型表的度量包括虚拟计算度量、普通度量以及衍生指标,所述衍生指标为两个以上虚拟计算度量和/或普通度量之间的计算结果。
作为本发明的一种优选技术方案,根据查询场景,获取常用查询维度组合的步骤包括:在业务场景内收集常用分析场景,根据常用分析场景获取常用查询维度组合。
作为本发明的一种优选技术方案,响应于查询语句的查询命令时,先对查询语句进行解析,获取查询维度和过滤维度。
作为本发明的一种优选技术方案,常用查询维度组合包括以下组合情况的一种或多种:
所有可能维度组合;
用户关注的维度组合,划分出关注的组合大类,形成聚合组;
用户指定的固定维度组合;
强制维度组合。
一种基于自适应的多维分析动态加速***,包括:
逻辑模型表构建模块,用于根据动态加速指令,基于数仓中的事实表,构建逻辑模型表,定义逻辑模型表的维度、度量以及计算逻辑;为非可加性指标,建立虚拟计算度量,所述虚拟计算度量通过编程语句定义计算逻辑,所述非可加性指标对应所述虚拟计算度量的总和;
预汇总表关联模块,用于为逻辑模型表关联一个明细表和至少一个预汇总表,根据常用分析场景,获取常用查询维度组合,并根据常用查询维度组合定义所述预汇总表的维度和度量,所述预汇总表用于为常用查询维度组合进行预计算;
查询获取模块,用于响应查询语句的查询命令,判断是否有与查询语句对应的预汇总表,若有,则路由至对应的预汇总表,从预汇总表中直接获取查询结果,若否,则路由至明细表。
作为本发明的一种优选技术方案,***中还设置有解析组件、监控模块和智能优化模块;
所述解析组件用于将查询语句命令翻译为适应于明细表的编程语句;
所述监控模块用于在***实际使用中,收集实际的查询场景;
所述智能优化模块用于根据收集到的实际查询场景,判断超过预设常用阈值的维度组合,判断低于预设查询时间阈值的查询语句;
对超过预设常用阈值且低于预设查询时间的维度组合,若满足预汇总表路由条件,则构建新的预汇总表;对于低于预设常用阈值的维度组合取消预汇总表。
一种基于自适应的多维分析动态加速装置,包括:处理器和存储器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1-7中任一项所述的方法。
综上所述,本发明具有以下有益效果:针对非可加性指标,提出了动态智能加速技术,既能够满足任意维度组合的多维分析,同时也可以对常用查询场景进行加速,满足用户的性能需求,在性能和通用计算上取得一种较好的平衡。另外还可以根据实际查询情况,动态地调整加速策略,使其更符合实际的数据分析场景。
同时通过SQL on logical model和智能路由的技术,定向加速对于指标使用用户来讲是透明的,最终用户不需要了解具体的加速情况。能够简化用户的开发流程,降低开发成本,并且可以和其它指标可以一起进行联合查询,比较适合于现有流行的数据中台架构,提供了数据分析和指标复用的功能。
附图说明
图1是本发明的流程图;
图2是本发明的SQL语句处理逻辑流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
如图1和2所示,本发明提供一种基于自适应的多维分析动态加速方法和***,包括通过***中模块执行的如下步骤:
S1、通过逻辑模型表构建模块,根据动态加速指令,基于数仓中的hive事实表,构建逻辑模型表,定义逻辑模型表的维度、度量以及计算逻辑;一般的逻辑模型表可以为星型和宽表。并且模型中的维度可以和维度表相关联,用于获取其余维度信息。
具体的,逻辑模型表的度量包括虚拟计算度量、普通度量以及衍生指标,为了满足本发明中提出的不可加的指标之间计算的需求,本发明为非可加性指标,建立了虚拟计算度量,虚拟计算度量通过编程语句定义计算逻辑,例如在复购类模型中,购买人数和复购人数都是计算度量。在数仓表中是不存在这类字段的,而是根据会员ID的购买情况和业务规则计算出来的。
并且对于非可加性指标,将其定义为虚拟计算度量的sum操作,例如指标复购人数这个指标就是对复购人数。
同时也会产生衍生指标,衍生指标为两个以上虚拟计算度量和/或普通度量之间的计算结果,用于对不同指标做计算,例如复购率=复购人数/购买人数。实际用户在使用时不用关系内在的复杂处理逻辑。
但是在指标定义时,不支持Case when这种情况。如果有这种情况,则适应性的在度量中增加一类计算度量。
作为本发明的一个实施例,对于计算复购人数、复购率之类的指标,在设计逻辑模型表时,设计包含以下维度和度量信息。
维度:时间、门店、大区、品类、明细渠道、事业部、营销活动、会员ID、时间粒度(可以设置为月、季、半年、年等)
度量:
购买人数(计算度量,在指定时间内购买商品的人数)、复购人数(计算度量,购买天数大于等于两天的人数)、复购率(衍生指标,复购人数/购买人数)。
有关于计算逻辑的定义:对于非可加性指标的计算逻辑通常比较复杂,很难通过简单的sum、max、count distinct等聚合函数来完成,例如复购类的计算,新老买家销售额的计算等等。因此需要在定义逻辑模型表的同时也需要定义计算逻辑。
计算逻辑包括若干带有带变量的编程语句或脚本,计算逻辑中带有待输入参数的算式,在预汇总表进行预计算时,输入参数,对算式进行运算,得到对应的计算结果。编程语句或脚本还用于在用户查询指定维度组合时,若没有对应的预汇总表,则通过编程语句或脚本,在明细表中获取相应数据进行计算,得到对应的查询结果。
具体的,有两种方案支持计算逻辑的编写:
1、SQL语句,SQL语句是带有变量的,需要在进行预计算时根据传入参数,将变量转换为实际的值。例如对于复购类的模型,计算逻辑可以写成如下SQL语句:
with preAgg as(
select${groupbyColumns},member_id,max(__time)
max_statis_date,min(__time)min_statis_date
from${parquetTable}tt2
where$timeRange
group by${groupbyColumns},member_id)
select${cuboid},$groupbyColumns,count(distinct member_id)as购买人数
,count(case when max_statis_date!=min_statis_date then member_idelse null end)as复购人数
from preAgg group by$cuboid,${groupbyColumns}
其中以$开头的表示变量,在实际执行中要以实际值来代替。其中
${groupByColumns}指的是此次SQL执行语句中的维度组合
${parquetTable}是指在模型数仓表拉宽后的那张parquet表
${timeRange}是指当天对应的周期时间范围。例如如果时间周期是周,当前计算时间为2018-11-30,那么timeRange则为__time>=’2018-11-26 00:00:00’and__time<’2018-12-02 00:00:00’
${cuboid}指明某个维度组合,指定了groupByColumns,cuboid值也即可以算出。
标红的购买人数、复购人数是模型中的计算度量,实际以模型定义中的对应计算度量名称为准。
这个SQL语句也可以根据实际情况加上其他过滤条件,值得注意的是,该SQL语句不仅仅能作为预计算来使用,另外一个功能是可以作为一种兜底(fallback)方案。即在用户查询指定维度组合指标时,如果发现没有对应的预计算表,可以将查询计算路由明细表中,通过接口或脚本,构造明细表分析汇总对应的SQL语句中,通过该SQL语句,理论上是可以解决该模型中任意维度组合的指标汇总的服务的。
2、脚本或者Java程序,对于比较复杂的,可能无法通过上述SQL语句的方法来构建SQL语句,对于这种情况,可以通过编写groovy、Javascript等脚本或者Java程序。
具体的,对于Java程序,提供了一个接口,ISQLBuilder,该接口定义一个方法:
Public String buildSql(olapContext OLAPContext)
OLAPContext是构建任务时的上下文对象实例,在进行预计算时,会将维度组合、统计周期等信息传递进来。接口实现类可以根据这些信息来构建实际的SQL语句。
S1步骤中,除了需要定义逻辑模型表的维度、度量以及计算逻辑之外,还需要执行其他的事项,例如存储、加速任务和补数。
关于存储,可以设定预计算结果存储在druid、HBASE或者RDB中。
关于加速任务和补数,普通druid加速只需要将数仓中的表拉宽后,就可以将数据入到druid中了。而预汇总表中无法直接从宽表中导数据,需要对宽表按照定义的维度进行预计算处理后,才可以将数据入到druid中。具体处理逻辑就是使用SQL语句来加工。如图2所示,其流程如下:
首先进行数仓拉宽,确定$parquetTable,对该模型时间周期循环,确定$timeRange,对该周期中的维度组合循环,判断是否有强制维度,如有,则将强制维度加入维度组合后执行计算$groupByColumns,若无则直接执行$groupByColumns,再计算$cuboid,构造计算SQL语句,将计算结果写入到HDFS中,同时将数据导入到druid中,在判断组合循环是有结束,如否,则继续对该周期中的维度组合循环,若是,则将数据导入到druid,之后判断时间周期循环是否结束,若未结束则继续对该模型时间周期循环。
S2、通过预汇总表关联模块,为逻辑模型表关联一个明细表和至少一个预汇总表,根据常用分析场景,获取常用查询维度组合,并根据常用查询维度组合定义预汇总表的维度和度量,预汇总表用于为常用查询维度组合进行预计算;
具体的,预汇总表也就是预计算结果表,表中的每种维度组合都是唯一的。因此对于单一指标的计算可以转换为对模型中计算度量进行sum操作。所以单一指标一律简化为对计算度量的sum操作。
一个预汇总表只能适用于一种维度组合,无法对该表进行上卷下钻操作。而维度组合的个数是根据维度的个数呈指数型增长。因此,对于这类多维分析,需要根据业务场景,选择最常用的维度组合。一般的做法是:在业务场景内收集常用分析场景,根据常用分析场景获取常用查询维度组合。
具体的,常用查询维度组合包括以下组合情况的一种或多种:所有可能维度组合,这类可应用于维度个数不多的场景;
用户根据自己关注的维度组合,划分出关注的组合大类,形成聚合组,在每一个聚合组中,对所有的可能维度组合进行汇总计算,预先计算出数值。维度分组中的维度个数不宜太多,一般3到5个。
用户指定的固定维度组合,根据用户指定的维度组合生成预汇总表。后面可以根据需要增加或者减少维度组合;
强制维度组合,强制维度是指一定会在每种维度组合中都会出现的维度。强制维度一般包含时间和统计周期,也可以指定其余维度作为强制维度。
S3、通过查询获取模块,响应于查询语句的查询命令,判断是否有与查询语句对应的预汇总表,若有,则路由至对应的预汇总表,从预汇总表中直接获取查询结果,若否,则路由至明细表。
响应于查询语句的查询命令时,先对查询语句进行解析,获取查询维度和过滤维度。
S3在执行时,不需要最终用户了解复杂的业务逻辑。只需要进行路由规则匹配,这里的路由是要求完全匹配,所谓的完全匹配,是指没有过滤维度或者过滤维度是分析维度组合的子集,是指group by中的字段与模型中预汇总表中的所有维度都相同,并且过滤条件中的字段包含在group by字段中。路由成功就可以到该预汇总表中,直接获取最终结果。这个相当于kv的查询,性能和并发性都会非常好。
如果没有预汇总表能够命中,就需要到明细表中去查询。
本发明的***中还设置有解析组件、监控模块和智能优化模块;
解析组件用于将查询语句命令翻译为适应于明细表的编程语句;
监控模块用于在***实际使用中,收集实际的查询场景,根据场景,判断哪些维度组合经常被使用,哪些查询语句比较慢。然后找出经常被查询的维度组合;
智能优化模块用于根据收集到的实际查询场景,判断超过预设常用阈值的维度组合,判断低于预设查询时间阈值的查询语句;
对超过预设常用阈值且低于预设查询时间的维度组合,若满足预汇总表路由条件,则构建新的预汇总表,针对该预汇总表的查询就会被大大加速,而这一切用户是不需要参与;对于低于预设常用阈值的维度组合取消预汇总表,减少相应的资源占用,整体上提升资源利用率和实际查询速率。
对应于上述的方法和***,本发明还提供一种基于自适应的多维分析动态加速装置,包括:处理器和存储器,存储器存储有处理器可执行的计算机程序,处理器执行计算机程序时实现上述方法。
本发明的优势在于:针对非可加性指标,提出了动态智能加速技术,既能够满足任意维度组合的多维分析,同时也可以对常用查询场景进行加速,满足用户的性能需求,在性能和通用计算上取得一种较好的平衡。另外还可以根据实际查询情况,动态地调整加速策略,使其更符合实际的数据分析场景。
同时通过SQL on logical model和智能路由的技术,定向加速对于指标使用用户来讲是透明的,最终用户不需要了解具体的加速情况。能够简化用户的开发流程,降低开发成本,并且可以和其它指标可以一起进行联合查询,比较适合于现有流行的数据中台架构,提供了数据分析和指标复用的功能。
在实际应用中,针对前述的复购人数统计建立了一个逻辑模型,然后事先收集了常用的分析场景,预先建立了10余个预汇总表。在SQL语句能够命中预汇总表的情况下,延迟基本上在100ms以下,并发数能达到上千。另外有些少量的查询确实需要到明细数据中进行汇总,这个查询量占比在10%左右,这时延迟需要10秒到100秒之间,基本上可以满足业务上的要求。后面在智能优化时,针对某个经常使用的查询维度组合还可以自动增加了预汇总表,提升了查询性能。
因此采用本发明的加速技术,大幅降低了用户的开发成本,且这些指标可以和销售域、流量域指标等指标一起进行数据分析,提升了指标复用性,增加了业务价值。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于自适应的多维分析动态加速方法,其特征是:包括如下步骤:
根据动态加速指令,基于数仓中的事实表,构建逻辑模型表,定义逻辑模型表的维度、度量以及计算逻辑;为非可加性指标,建立虚拟计算度量,所述虚拟计算度量通过编程语句定义计算逻辑,所述非可加性指标对应所述虚拟计算度量的总和;
为逻辑模型表关联一个明细表和至少一个预汇总表,根据常用分析场景,获取常用查询维度组合,并根据常用查询维度组合定义所述预汇总表的维度和度量,所述预汇总表用于为常用查询维度组合进行预计算;
响应于查询语句的查询命令,判断是否有与查询语句对应的预汇总表,若有,则路由至对应的预汇总表,从预汇总表中直接获取查询结果,若否,则路由至明细表。
2.根据权利要求1所述的一种基于自适应的多维分析动态加速方法,其特征是:计算逻辑包括若干带有带变量的编程语句或脚本,所述计算逻辑中带有待输入参数的算式,在预汇总表进行预计算时,输入参数,对算式进行运算,得到对应的计算结果。
3.根据权利要求2所述的一种基于自适应的多维分析动态加速方法,其特征是:编程语句或脚本还用于在用户查询指定维度组合时,若没有对应的预汇总表,则通过编程语句或脚本,在明细表中获取相应数据进行计算,得到对应的查询结果。
4.根据权利要求3所述的一种基于自适应的多维分析动态加速方法,其特征是:所述逻辑模型表的度量包括虚拟计算度量、普通度量以及衍生指标,所述衍生指标为两个以上虚拟计算度量和/或普通度量之间的计算结果。
5.根据权利要求4所述的一种基于自适应的多维分析动态加速方法,其特征是:根据查询场景,获取常用查询维度组合的步骤包括:在业务场景内收集常用分析场景,根据常用分析场景获取常用查询维度组合。
6.根据权利要求5所述的一种基于自适应的多维分析动态加速方法,其特征是:响应于查询语句的查询命令时,先对查询语句进行解析,获取查询维度和过滤维度。
7.根据权利要求6所述的一种基于自适应的多维分析动态加速方法,其特征是:常用查询维度组合包括以下组合情况的一种或多种:
所有可能维度组合;
用户关注的维度组合,划分出关注的组合大类,形成聚合组;
用户指定的固定维度组合;
强制维度组合。
8.一种基于自适应的多维分析动态加速***,其特征是:包括:
逻辑模型表构建模块,用于根据动态加速指令,基于数仓中的事实表,构建逻辑模型表,定义逻辑模型表的维度、度量以及计算逻辑;为非可加性指标,建立虚拟计算度量,所述虚拟计算度量通过编程语句定义计算逻辑,所述非可加性指标对应所述虚拟计算度量的总和;
预汇总表关联模块,用于为逻辑模型表关联一个明细表和至少一个预汇总表,根据常用分析场景,获取常用查询维度组合,并根据常用查询维度组合定义所述预汇总表的维度和度量,所述预汇总表用于为常用查询维度组合进行预计算;
查询获取模块,用于响应查询语句的查询命令,判断是否有与查询语句对应的预汇总表,若有,则路由至对应的预汇总表,从预汇总表中直接获取查询结果,若否,则路由至明细表。
9.根据权利要求8所述的一种基于自适应的多维分析动态加速***,其特征是:***中还设置有解析组件、监控模块和智能优化模块;
所述解析组件用于将查询语句命令翻译为适应于明细表的编程语句;
所述监控模块用于在***实际使用中,收集实际的查询场景;
所述智能优化模块用于根据收集到的实际查询场景,判断超过预设常用阈值的维度组合,判断低于预设查询时间阈值的查询语句;
对超过预设常用阈值且低于预设查询时间的维度组合,若满足预汇总表路由条件,则构建新的预汇总表;对于低于预设常用阈值的维度组合取消预汇总表。
10.一种基于自适应的多维分析动态加速装置,其特征是:包括:处理器和存储器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311093350.2A CN117056350A (zh) | 2023-08-29 | 2023-08-29 | 一种基于自适应的多维分析动态加速方法、***及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311093350.2A CN117056350A (zh) | 2023-08-29 | 2023-08-29 | 一种基于自适应的多维分析动态加速方法、***及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117056350A true CN117056350A (zh) | 2023-11-14 |
Family
ID=88657026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311093350.2A Pending CN117056350A (zh) | 2023-08-29 | 2023-08-29 | 一种基于自适应的多维分析动态加速方法、***及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117056350A (zh) |
-
2023
- 2023-08-29 CN CN202311093350.2A patent/CN117056350A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9734202B2 (en) | Systems and methods for rapid data analysis | |
CN103748579B (zh) | 在映射化简框架中处理数据 | |
CN107193967A (zh) | 一种多源异构行业领域大数据处理全链路解决方案 | |
JP6779231B2 (ja) | データ処理方法及びシステム | |
US20160092596A1 (en) | Database migration method and apparatus | |
US11442694B1 (en) | Merging database tables by classifying comparison signatures | |
US10706077B2 (en) | Performance of distributed databases and database-dependent software applications | |
CN110704336B (zh) | 一种数据缓存方法及装置 | |
CN110555035A (zh) | 一种对查询语句进行优化的方法、装置 | |
CN115129782A (zh) | 一种分布式数据库的分区级连接方法和装置 | |
US20070118541A1 (en) | Generation of a Categorization Scheme | |
CN108182204A (zh) | 基于房产交易多维度数据的数据查询的处理方法及装置 | |
CN117056350A (zh) | 一种基于自适应的多维分析动态加速方法、***及装置 | |
CN110032615A (zh) | 一种基于规则库实现gis空间数据在线统计的方法 | |
CN111061767B (zh) | 一种基于内存计算与sql计算的数据处理方法 | |
CN109241048A (zh) | 用于数据统计的数据处理方法、服务器及存储介质 | |
CN113255309B (zh) | 一种基于多维模型的指标计算引擎实现方法 | |
US20220351087A1 (en) | Feature pruning and algorithm selection for machine learning | |
CN111782658B (zh) | 交叉表处理方法、装置、电子设备及存储介质 | |
CN110414813B (zh) | 指标曲线的构建方法、装置及设备 | |
CN112506953A (zh) | 基于结构化查询语言sql的查询方法、装置及存储介质 | |
CN112667859A (zh) | 基于内存的数据处理方法及装置 | |
CN106557469B (zh) | 一种处理数据仓库中数据的方法及装置 | |
CN115840885B (zh) | 一种深度合成特征的特征选择方法及装置 | |
US11809390B2 (en) | Context-dependent event cleaning and publication |
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 |