CN113918561A - 基于云上分析场景的混合查询方法和系统、存储介质 - Google Patents
基于云上分析场景的混合查询方法和系统、存储介质 Download PDFInfo
- Publication number
- CN113918561A CN113918561A CN202111062067.4A CN202111062067A CN113918561A CN 113918561 A CN113918561 A CN 113918561A CN 202111062067 A CN202111062067 A CN 202111062067A CN 113918561 A CN113918561 A CN 113918561A
- Authority
- CN
- China
- Prior art keywords
- query
- information
- index
- meta
- aggregation index
- 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
Images
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- 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/2228—Indexing structures
- G06F16/2264—Multidimensional index structures
-
- 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/2453—Query optimisation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于云上分析场景的混合查询方法和系统、存储介质。该方法包括获取查询信息,基于查询信息得到其索引;基于预计算获取索引的元信息,与聚合索引的元信息对比;基于对比的结果,确定元信息对应的查询方式,其中,所述查询方式包括存算分离或MPP架构的查询方式。本申请解决了在超高维的环境中,如何让预计算查询系统能够最高效,更稳定地利用预计算的结果,最快速地响应客户的查询,同时避免产生大量的冗余数据的技术问题。
Description
技术领域
本发明属于数据处理技术领域,尤其涉及一种基于云上分析场景的混合查询方法和系统、存储介质。
背景技术
在数字化背景下,典型的大数据的应用场景需要面对的数据的规模呈指数级增长。即便如此,人们还是希望能从数据中更精确,更高效,更便捷,更密集地挖掘商业价值。这就对处理这些数据的查询系统提出了很高的要求。典型的传统分布式查询计算框架需要占用更多的内存资源,网络资源,CPU资源才能满足日益增长的业务需求,因此一些基于预计算理论的查询系统开始得到重视,例如Apache Kylin,Apache Druid等。这类预计算系统能够利用空余的计算、存储资源提前完成部分的计算,并且将这些计算结果保存在可持久化的存储介质中,当用户查询到来的时候,只需要进行少量的数据再加工便可以回答用户的查询,因此这类系统在查询的响应速度,吞吐量等方面都有非常大的优势。另外,为了保持对业务系统(包括BI工具,报表,数据分析算法等)的兼容性,预计算数据查询系统一般也像通用查询系统一样,提供SQL,或者近似SQL的语言。
对于不同的查询,预计算查询系统预期选中的聚合索引是不同的。这就给分布式物理执行模型提供了很大选择余地:当某个查询选中的是一个被聚合程度很高的聚合索引(通俗地说就是数据行数很少的聚合索引)的时候,如一个按照年龄维度聚合的聚合索引,那么完成这个查询所需访问的数据量是很小的(正常情况下就是2行),而如果查询选中的是一个按照承保人+日期维度聚合的低聚合程度的聚合索引(通俗地说就是数据行数很多),那么需要访问的数据量仍然很大。
在大规模的联机多维分析中,预计算查询系统存在两个基础性的难题:维度爆炸和冷启动。举例来说,10个维度将产生1024个维度组合;而11个维度将产生2048个维度组合。Apache Kylin通过巧妙地选择要预计算地聚合索引,可以显著地提升平均响应时间,但是随着维度的增加,例如,当前一个典型地用户标签系统往往至少500维起,这就使得无论如何选择都变得并不实用,特别是在云上的分布式环境中,这两个难题因为对象存储而放大。在这种超高维的环境中,如何让预计算查询系统能够最高效,更稳定地利用预计算的结果,最快速地响应客户的查询,同时避免产生大量的冗余数据,就是本发明要解决的问题。
综上所述,现有技术存在如下技术问题:
在超高维的环境中,如何让预计算查询系统能够最高效,更稳定地利用预计算的结果,最快速地响应客户的查询,同时避免产生大量的冗余数据。
发明内容
为解决上述技术问题,本发明提供一种基于云上分析场景的混合查询方法,包括步骤:
获取查询信息,基于查询信息得到其索引;
基于预计算获取索引的元信息,与聚合索引的元信息对比;
基于对比的结果,确定元信息对应的查询方式,其中,所述查询方式包括存算分离或MPP架构的查询方式。
优选的,所述获取查询信息,基于查询信息得到其索引,具体包括:
获取SQL查询语句;
获取SQL分析器,将SQL查询语句分析为语法树;
基于所述语法树提取查询信息作为索引。
优选的,所述聚合索引,具体包括:
获取历史查询信息的数据量;
如果历史查询信息的数据量达到预设阈值,获取所述历史查询信息的维度和度量;
基于维度和度量的使用频率构建聚合索引,将聚合索引的元信息加载到对象存储中;
基于维度和度量的新数据增量构建新聚合索引,以及删除使用频率下降的旧聚合索引;
基于预计算将新聚合索引的元信息加载到对象存储中,更新聚合索引的元信息。
优选的,所述基于维度和度量的新数据增量构建新聚合索引,以及删除使用频率下降的旧聚合索引,具体包括:
在收到构建新聚合索引的请求后,基于用户选择确定是否构建新聚合索引;
如果确定构建新聚合索引,则每隔预设时间基于维度和度量的新数据增量构建新聚合索引,如果确定不构建新聚合索引,则停止;
异步删除旧聚合索引,即标记为可删除,在后续的垃圾清理过程中物理删除。
优选的,所述基于预计算获取索引的元信息,与聚合索引的元信息对比,具体包括:
在索引中提取其元信息;
将索引的元信息与获取的对象存储中的聚合索引的元信息对比;
当索引的元信息与聚合索引的元信息相同,则命中聚合索引,否则没有命中。
优选的,所述基于对比的结果,确定元信息对应的查询方式,其中,所述查询方式包括存算分离或MPP架构的查询方式,具体包括:
获取代价的规则库,其中,代价的规则库包括当两个元信息相同,优先选择存算分离的查询方式,否则优先选择MPP架构的查询方式;
获取对比结果,基于代价的规则库进行选择;
获取存算分离或MPP架构的查询结果。
优选的,所述代价的规则库,还包括:
将查询语句的识别下推到MPP架构的数据库;
在所述数据库中识别查询语句中的聚合和过滤部分;
在MPP架构的数据库完成聚合,返回查询结果。
一种基于云上分析场景的混合查询的系统,其特征在于,包括:
查询输入模块,用于获取查询信息,基于查询信息得到其索引;
预计算模块,用于基于预计算获取索引的元信息,与聚合索引的元信息对比;
查询选择模块,用于根据是否命中聚合索引,选择存算分离或MPP架构的查询方式并返回查询结果。
优选的,所述查询输入模块,具体包括:
获取SQL查询语句;
获取SQL分析器,将SQL查询语句分析为语法树;
基于所述语法树提取查询信息作为索引。
优选的,所述查询输入模块,具体包括:
获取历史查询信息的数据量;
如果历史查询信息的数据量达到预设阈值,获取所述历史查询信息的维度和度量;
基于维度和度量的使用频率构建聚合索引,将聚合索引的元信息加载到对象存储中;
基于维度和度量的新数据增量构建新聚合索引,以及删除使用频率下降的旧聚合索引;
基于预计算将新聚合索引的元信息加载到对象存储中,更新聚合索引的元信息。
优选的,所述查询输入模块,具体包括:
在收到构建新聚合索引的请求后,基于用户选择确定是否构建新聚合索引;
如果确定构建新聚合索引,则每隔预设时间基于维度和度量的新数据增量构建新聚合索引,如果确定不构建新聚合索引,则停止;
异步删除旧聚合索引,即标记为可删除,在后续的垃圾清理过程中物理删除。
优选的,所述预计算模块,具体包括:
在索引中提取其元信息;
将索引的元信息与获取的对象存储中的聚合索引的元信息对比;
当索引的元信息与聚合索引的元信息相同,则命中聚合索引,否则没有命中。
优选的,所述查询选择模块,具体包括:
获取代价的规则库,其中,代价的规则库包括当两个元信息相同,优先选择存算分离的查询方式,否则优先选择MPP架构的查询方式;
获取对比结果,基于代价的规则库进行选择;
获取存算分离或MPP架构的查询结果。
优选的,所述查询选择模块,具体包括:
将查询语句的识别下推到MPP架构的数据库;
在所述数据库中识别查询语句中的聚合和过滤部分;
在MPP架构的数据库完成聚合,返回查询结果。
一种电子设备,包括存储器和处理器,所述存储器存储计算机程序,其特征在于,所述计算机程序在所述处理器中执行可实现以上任一种方法。
一种存储介质,存储计算机程序,其特征在于,所述计算机程序在处理器中执行可实现以上任一种方法。
本发明通过归类预计算查询系统常见的两种分布式计算架构,为基于预计算理论的查询系统提供一种优化策略,根据预计算结果的元信息,以及查询本身的特性,动态智能地选择最优的分布式计算结构,实现了亚秒级高性能的查询响应作为结果,可以支撑更高的高并发维度搜索以满足业务需求,同时保证查询系统的稳定性的技术效果。
附图说明
图1为本申请的基于云上分析场景的混合查询方法的流程图;
图2为本申请的SQL查询语句的分析结果示意图;
图3为本申请的基于用户2的测试结果的条形示意图;
图4为本申请的基于用户4的测试结果的条形示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,在本发明的描述中,除非另有明确的规定和限定,术语“存储介质”可以是ROM、RAM、磁碟或者光盘等各种可以存储计算机程序的介质。术语“处理器”可以是CPLD(Complex Programmable Logic Device:复杂可编程逻辑器件)、FPGA(Field-Programmable Gate Array:现场可编程门阵列)、MCU(Microcontroller Unit:微控制单元)、PLC(Programmable Logic Controller:可编程逻辑控制器)以及CPU(CentralProcessing Unit:中央处理器)等具备数据处理功能的芯片或电路。术语“电子设备”可以是具有数据处理功能和存储功能的任何设备,通常可以包括固定终端和移动终端。固定终端如台式机等。移动终端如手机、PAD以及移动机器人等。此外,后续所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
下面,本发明提出部分优选实施例以教导本领域技术人员实现。
实施例一
本实施例提供一种基于云上分析场景的混合查询方法,如图1所示,包括步骤:
S100、获取查询信息,基于查询信息得到其索引;
S200、基于预计算获取索引的元信息,与聚合索引的元信息对比;
S300、基于对比的结果,确定元信息对应的查询方式,其中,所述查询方式包括存算分离或MPP架构的查询方式。
在进一步的实施例中,所述获取查询信息,基于查询信息得到其索引,如图2所示,具体包括:
S110、获取SQL查询语句;
S120、获取SQL分析器,将SQL查询语句分析为语法树;
S130、基于所述语法树提取查询信息作为索引。
在更进一步的实施例中,所述基于所述语法树提取查询信息作为索引,具体包括:
S131、基于所述语法树获取查询信息的维度和度量;
S132、获取索引的维度和度量与所述查询的维度和度量进行比较;
S133、选择相匹配的索引,其中,相匹配的索引为预设的基础索引。
在进一步的实施例中,所述聚合索引,具体包括:
S140、获取历史查询信息的数据量;
S150、如果历史查询信息的数据量达到预设阈值,获取所述历史查询信息的维度和度量;
S160、基于维度和度量的使用频率构建聚合索引,将聚合索引的元信息加载到对象存储中;
S170、基于维度和度量的新数据增量构建新聚合索引,以及删除使用频率下降的旧聚合索引;
S180、基于预计算将新聚合索引的元信息加载到对象存储中,更新聚合索引的元信息。
在进一步的实施例中,所述基于维度和度量的使用频率构建聚合索引,具体包括:
S151、基于智能优化系统分析用户行为;
S152、基于分析结果确定用户的查询习惯,其中包括但不限于用户选择的维度类型、用户选择的度量范围;
S153、基于用户的查询习惯构建聚合索引。
在更进一步的实施例中,所述基于维度和度量的新数据增量构建新聚合索引,以及删除使用频率下降的旧聚合索引,具体包括:
S161、在收到构建新聚合索引的请求后,基于用户选择确定是否构建新聚合索引;
S162、如果确定构建新聚合索引,则每隔预设时间基于维度和度量的新数据增量构建新聚合索引,如果确定不构建新聚合索引,则停止;
S163、异步删除旧聚合索引,即标记为可删除,在后续的垃圾清理过程中物理删除。
在进一步的实施例中,所述基于预计算获取索引的元信息,与聚合索引的元信息对比,具体包括:
S210、在索引中提取其元信息;
S220、将索引的元信息与获取的对象存储中的聚合索引的元信息对比;
S230、当索引的元信息与聚合索引的元信息相同,则命中聚合索引,否则没有命中。
在进一步的实施例中,所述基于对比的结果,确定元信息对应的查询方式,其中,所述查询方式包括存算分离或MPP架构的查询方式,具体包括:
S310、获取代价的规则库,其中,代价的规则库包括当两个元信息相同,优先选择存算分离的查询方式,否则优先选择MPP架构的查询方式;
S320、获取对比结果,基于代价的规则库进行选择;
S330、获取存算分离或MPP架构的查询结果。
在更进一步的实施例中,所述代价的规则库,还包括:
S321、将查询语句的识别下推到MPP架构的数据库;
S322、在所述数据库中识别查询语句中的聚合和过滤部分;
S323、在MPP架构的数据库完成聚合,返回查询结果。
从以上的描述中,可以看出,本发明实现了如下技术效果:
1、通过归类预计算查询系统常见的两种分布式计算架构,实现了为基于预计算理论的查询系统提供一种优化策略的技术效果;
2、通过预计算结果的元信息以及查询本身的特性,实现了动态智能地选择最优的分布式计算结构的技术效果;
3、通过实现亚秒级高性能的查询响应,实现了支撑更高的高并发维度搜索以满足业务需求,同时保证查询系统的稳定性的技术效果。
实施例二
本实施例提供一种基于云上分析场景的混合查询的系统,其特征在于,包括:
查询输入模块,用于获取查询信息,基于查询信息得到其索引;
预计算模块,用于基于预计算获取索引的元信息,与聚合索引的元信息对比;
查询选择模块,用于根据是否命中聚合索引,选择存算分离或MPP架构的查询方式并返回查询结果。
在进一步的实施例中,所述查询输入模块,具体包括:
获取SQL查询语句;
获取SQL分析器,将SQL查询语句分析为语法树;
基于所述语法树提取查询信息作为索引。
在进一步的实施例中,所述查询输入模块,具体包括:
获取历史查询信息的数据量;
如果历史查询信息的数据量达到预设阈值,获取所述历史查询信息的维度和度量;
基于维度和度量的使用频率构建聚合索引,将聚合索引的元信息加载到对象存储中;
基于维度和度量的新数据增量构建新聚合索引,以及删除使用频率下降的旧聚合索引;
基于预计算将新聚合索引的元信息加载到对象存储中,更新聚合索引的元信息。
在更进一步的实施例中,所述查询输入模块,具体包括:
在收到构建新聚合索引的请求后,基于用户选择确定是否构建新聚合索引;
如果确定构建新聚合索引,则每隔预设时间基于维度和度量的新数据增量构建新聚合索引,如果确定不构建新聚合索引,则停止;
异步删除旧聚合索引,即标记为可删除,在后续的垃圾清理过程中物理删除。
在进一步的实施例中,所述预计算模块,具体包括:
在索引中提取其元信息;
将索引的元信息与获取的对象存储中的聚合索引的元信息对比;
当索引的元信息与聚合索引的元信息相同,则命中聚合索引,否则没有命中。
在进一步的实施例中,所述查询选择模块,具体包括:
获取代价的规则库,其中,代价的规则库包括当两个元信息相同,优先选择存算分离的查询方式,否则优先选择MPP架构的查询方式;
获取对比结果,基于代价的规则库进行选择;
获取存算分离或MPP架构的查询结果。
在更进一步的实施例中,所述查询选择模块,具体包括:
将查询语句的识别下推到MPP架构的数据库;
在所述数据库中识别查询语句中的聚合和过滤部分;
在MPP架构的数据库完成聚合,返回查询结果。
实施例三
基于本实施例提供的一种基于云上分析场景的混合查询方法,通过步骤:
S100、获取查询信息,基于查询信息得到其索引;
在这个实施例中,获取的查询信息为计算保险销售员(seller_id)在某日(date)的保单金额总和(sum(amount))。
S200、基于预计算获取索引的元信息,与聚合索引的元信息对比;
由于销售员的数量可能很多,因此,没有查询历史时,初始并不会产生维度为(seller_id,date),度量为保单金额总和(sum(amount))的聚合索引,因此这个查询语句不会命中聚合索引。
S300、基于对比的结果,确定元信息对应的查询方式,其中,所述查询方式包括存算分离或MPP架构的查询方式。
这条查询会击中基础索引,如果只是将数据从MPP中读出,并在数据端聚合,SQL1会涉及大量的数据扫描。
在进一步的实施例中,所述获取查询信息,基于查询信息得到其索引,具体包括:
S110、获取SQL查询语句;
分析下面的查询语句:SQL1分析编号为10003的销售员在1月1日的成交总额:select sum(amount)from transactions where date=’1.1’and seller_id=‘10003’。
S120、获取SQL分析器,将SQL查询语句分析为语法树,如图2所示;
S130、基于所述语法树获取查询信息作为索引。
在更进一步的实施例中,所述代价的规则库,还包括:
S321、将查询语句的识别下推到MPP架构的数据库;
S322、在所述数据库中识别查询语句中的聚合和过滤部分;
S323、在MPP架构的数据库完成聚合,返回查询结果。
通过规则库的影响,我们识别SQL1中的聚合和过滤部分可以下推给MPP数据库,从而在MPP数据库完成聚合,仅仅只返回一条数据,大大减少了要传输的数据,从而提高了性能。
在进一步的实施例中,所述聚合索引,具体包括:
S140、获取历史查询信息的数据量;
S150、如果历史查询信息的数据量达到预设阈值,获取所述历史查询信息的维度和度量;
S160、基于维度和度量的使用频率构建聚合索引,将聚合索引的元信息加载到对象存储中;
S170、基于维度和度量的新数据增量构建新聚合索引,以及删除使用频率下降的旧聚合索引;
S180、基于预计算将新聚合索引的元信息加载到对象存储中,更新聚合索引的元信息。
随着时间的推移,如果这样的查询非常频繁(通长有一个阈值,比如每天有100条这样的查询),系统就会认为预先为这种模式的查询构建聚合索引可以提高整体性能,那么在预计算完成后,当再次执行该SQL时,将会被路由到存算分离的系统。
在更进一步的实施例中,所述基于维度和度量的新数据增量构建新聚合索引,以及删除使用频率下降的旧聚合索引,具体包括:
S161、在收到构建新聚合索引的请求后,基于用户选择确定是否构建新聚合索引;
S162、如果确定构建新聚合索引,则每隔预设时间基于维度和度量的新数据增量构建新聚合索引,如果确定不构建新聚合索引,则停止;
S163、异步删除旧聚合索引,即标记为可删除,在后续的垃圾清理过程中物理删除。
在进一步的实施例中,所述基于预计算获取索引的元信息,与聚合索引的元信息对比,具体包括:
S210、在索引中提取其元信息;
S220、将索引的元信息与获取的对象存储中的聚合索引的元信息对比;
S230、当索引的元信息与聚合索引的元信息相同,则命中聚合索引,否则没有命中。
在进一步的实施例中,所述基于对比的结果,确定元信息对应的查询方式,其中,所述查询方式包括存算分离或MPP架构的查询方式,具体包括:
S310、获取代价的规则库,其中,代价的规则库包括当两个元信息相同,优先选择存算分离的查询方式,否则优先选择MPP架构的查询方式;
S320、获取对比结果,基于代价的规则库进行选择;
S330、获取存算分离或MPP架构的查询结果。
优化器规则通过模式匹配发现了聚合操作在表扫描之上,就可以将聚合操作推到表扫描中以减少从MPP引擎传回计算引擎的数据。根据不同的SQL,数据的减少量可以达到GB级。
实施例四
在此实施例中,基于用户2的数据集进行了压测,测试结果如图3所示。
这里Kyligence是指没有使用这项技术的产品,Kyligence with Tiered Storage是指使用了使用这项技术的最新产品。这里的固定式查询是指可以利用聚合索引的查询,可以看到并没有任何提升。这里的Ad-hoc查询是指无法利用聚合索引加速的查询,使用此项技术后,透明地利用MPP加速,在两用户的并发压测下,性能提升了3倍。
实施例五
在此实施例中,基于用户4的数据集进行了压测,测试结果如图4所示。
这里Kyligence是指没有使用这项技术的产品,Kyligence with Tiered Storage是指使用了使用这项技术的最新产品。这里的固定式查询是指可以利用聚合索引的查询,可以看到并没有任何提升。这里的Ad-hoc查询是指无法利用聚合索引加速的查询,使用此项技术后,透明地利用MPP加速,在两用户的并发压测下,性能也提升了近2倍。
实施例六
本发明实施例,还包括一种电子设备,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序在所述处理器中执行时用于实现上述的基于云上分析场景的混合查询方法,该方法包括:
S100、获取查询信息,基于查询信息得到其索引;
S200、基于预计算获取索引的元信息,与聚合索引的元信息对比;
S300、基于对比的结果,确定元信息对应的查询方式,其中,所述查询方式包括存算分离或MPP架构的查询方式。
实施例七
本实施例中,本发明还提供了一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现上述的基于云上分析场景的混合查询方法,该方法包括:
S100、获取查询信息,基于查询信息得到其索引;
S200、基于预计算获取索引的元信息,与聚合索引的元信息对比;
S300、基于对比的结果,确定元信息对应的查询方式,其中,所述查询方式包括存算分离或MPP架构的查询方式。
其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读存储介质可以是只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。
在上述终端或者服务器的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,DSP)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于云上分析场景的混合查询方法,其特征在于,包括:
获取查询信息,基于查询信息得到其索引;
基于预计算获取索引的元信息,与聚合索引的元信息对比;
基于对比的结果,确定元信息对应的查询方式,其中,所述查询方式包括存算分离或MPP架构的查询方式。
2.如权利要求1所述的方法,其特征在于,所述获取查询信息,基于查询信息得到其索引,具体包括:
获取SQL查询语句;
获取SQL分析器,将SQL查询语句分析为语法树;
基于所述语法树提取查询信息作为索引。
3.如权利要求1所述的方法,其特征在于,所述聚合索引,具体包括:
获取历史查询信息的数据量;
如果历史查询信息的数据量达到预设阈值,获取所述历史查询信息的维度和度量;
基于维度和度量的使用频率构建聚合索引,将聚合索引的元信息加载到对象存储中;
基于维度和度量的新数据增量构建新聚合索引,以及删除使用频率下降的旧聚合索引;
基于预计算将新聚合索引的元信息加载到对象存储中,更新聚合索引的元信息。
4.如权利要求3所述的方法,其特征在于,所述基于维度和度量的新数据增量构建新聚合索引,以及删除使用频率下降的旧聚合索引,具体包括:
在收到构建新聚合索引的请求后,基于用户选择确定是否构建新聚合索引;
如果确定构建新聚合索引,则每隔预设时间基于维度和度量的新数据增量构建新聚合索引,如果确定不构建新聚合索引,则停止;
异步删除旧聚合索引,即标记为可删除,在后续的垃圾清理过程中物理删除。
5.如权利要求1所述的方法,其特征在于,所述基于预计算获取索引的元信息,与聚合索引的元信息对比,具体包括:
在索引中提取其元信息;
将索引的元信息与获取的对象存储中的聚合索引的元信息对比;
当索引的元信息与聚合索引的元信息相同,则命中聚合索引,否则没有命中。
6.如权利要求1所述的方法,其特征在于,所述基于对比的结果,确定元信息对应的查询方式,其中,所述查询方式包括存算分离或MPP架构的查询方式,具体包括:
获取代价的规则库,其中,代价的规则库包括当两个元信息相同,优先选择存算分离的查询方式,否则优先选择MPP架构的查询方式;
获取对比结果,基于代价的规则库进行选择;
获取存算分离或MPP架构的查询结果。
7.如权利要求6所述的方法,其特征在于,所述代价的规则库,还包括:
将查询语句的识别下推到MPP架构的数据库;
在所述数据库中识别查询语句中的聚合和过滤部分;
在MPP架构的数据库完成聚合,返回查询结果。
8.一种基于云上分析场景的混合查询的系统,其特征在于,包括:
查询输入模块,用于获取查询信息,基于查询信息得到其索引;
预计算模块,用于基于预计算获取索引的元信息,与聚合索引的元信息对比;
查询选择模块,用于基于对比的结果,确定元信息对应的查询方式,其中,所述查询方式包括存算分离或MPP架构的查询方式。
9.一种电子设备,包括存储器和处理器,所述存储器存储计算机程序,其特征在于,所述计算机程序在所述处理器中执行可实现权利要求1-7中任一种方法。
10.一种存储介质,存储计算机程序,其特征在于,所述计算机程序在处理器中执行可实现权利要求1-7中任一种方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111062067.4A CN113918561A (zh) | 2021-09-10 | 2021-09-10 | 基于云上分析场景的混合查询方法和系统、存储介质 |
EP21930626.3A EP4174678A4 (en) | 2021-09-10 | 2021-10-12 | METHOD AND SYSTEM FOR HYBRID REQUEST BASED ON CLOUD ANALYSIS SCENARIO AND STORAGE MEDIUM |
PCT/CN2021/123289 WO2023035356A1 (zh) | 2021-09-10 | 2021-10-12 | 基于云上分析场景的混合查询方法和系统、存储介质 |
US18/092,273 US20230153286A1 (en) | 2021-09-10 | 2022-12-31 | Method and system for hybrid query based on cloud analysis scene, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111062067.4A CN113918561A (zh) | 2021-09-10 | 2021-09-10 | 基于云上分析场景的混合查询方法和系统、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113918561A true CN113918561A (zh) | 2022-01-11 |
Family
ID=79234598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111062067.4A Pending CN113918561A (zh) | 2021-09-10 | 2021-09-10 | 基于云上分析场景的混合查询方法和系统、存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230153286A1 (zh) |
EP (1) | EP4174678A4 (zh) |
CN (1) | CN113918561A (zh) |
WO (1) | WO2023035356A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023155273A1 (zh) * | 2022-02-15 | 2023-08-24 | 上海跬智信息技术有限公司 | 相关系数计算方法、装置、设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060294058A1 (en) * | 2005-06-28 | 2006-12-28 | Microsoft Corporation | System and method for an asynchronous queue in a database management system |
CN106407190B (zh) * | 2015-07-27 | 2020-01-14 | 阿里巴巴集团控股有限公司 | 一种事件记录查询方法及装置 |
US20180060133A1 (en) * | 2016-09-01 | 2018-03-01 | Amazon Technologies, Inc. | Event-driven resource pool management |
CN108268612B (zh) * | 2017-12-29 | 2021-05-25 | 上海跬智信息技术有限公司 | 一种基于olap预计算模型的预校验方法及预校验系统 |
CN108763240A (zh) * | 2018-03-22 | 2018-11-06 | 五八有限公司 | 基于olap的数据查询方法、装置、设备及存储介质 |
CN110399395B (zh) * | 2018-04-18 | 2022-04-01 | 福建天泉教育科技有限公司 | 基于预计算的加速查询方法、存储介质 |
-
2021
- 2021-09-10 CN CN202111062067.4A patent/CN113918561A/zh active Pending
- 2021-10-12 EP EP21930626.3A patent/EP4174678A4/en active Pending
- 2021-10-12 WO PCT/CN2021/123289 patent/WO2023035356A1/zh unknown
-
2022
- 2022-12-31 US US18/092,273 patent/US20230153286A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023155273A1 (zh) * | 2022-02-15 | 2023-08-24 | 上海跬智信息技术有限公司 | 相关系数计算方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023035356A1 (zh) | 2023-03-16 |
EP4174678A4 (en) | 2023-08-30 |
EP4174678A1 (en) | 2023-05-03 |
US20230153286A1 (en) | 2023-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110199273B (zh) | 用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的系统和方法 | |
CN103513983B (zh) | 用于预测性警报阈值确定工具的方法和系统 | |
EP2909745B1 (en) | Profiling data with location information | |
US7647293B2 (en) | Detecting correlation from data | |
US7483888B2 (en) | Method and apparatus for predicting selectivity of database query join conditions using hypothetical query predicates having skewed value constants | |
US11200223B2 (en) | System and method for dependency analysis in a multidimensional database environment | |
CN108292315A (zh) | 储存和检索数据立方体中的数据 | |
CN108804473B (zh) | 数据查询的方法、装置和数据库系统 | |
US20050131914A1 (en) | Apparatus and method for estimating cardinality when data skew is present | |
CN108052542B (zh) | 一种基于presto的数据的多维数据的分析方法 | |
US8538988B2 (en) | Selective storing of mining models for enabling interactive data mining | |
Fan et al. | Querying big data: bridging theory and practice | |
CN113342843A (zh) | 大数据在线分析方法和系统 | |
CN113763502A (zh) | 一种图表生成方法、装置、设备和存储介质 | |
US8650180B2 (en) | Efficient optimization over uncertain data | |
CN113761185A (zh) | 主键提取方法、设备及存储介质 | |
CN115803731A (zh) | 用于关系图数据库的图视图选择的数据库管理系统和方法 | |
CN113918561A (zh) | 基于云上分析场景的混合查询方法和系统、存储介质 | |
Xie et al. | OLAP over probabilistic data cubes II: parallel materialization and extended aggregates | |
CN112882956A (zh) | 一种通过数据组合计算自动生成全场景自动化测试案例的方法、装置、存储介质及电子设备 | |
US7647333B2 (en) | Cube-based percentile calculation | |
US11762831B2 (en) | Adaptive sparse indexing in cloud-based data warehouses | |
CN111652281B (zh) | 信息数据的分类方法、装置及可读存储介质 | |
CN113918771A (zh) | 批流融合的信息处理方法和装置、存储介质 | |
CN111897889B (zh) | 一种面向电力行业业务系统的数据表完整性评价方法 |
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 |