CN110537175A - 利用机器学习估计mppdb中的查询资源消耗 - Google Patents
利用机器学习估计mppdb中的查询资源消耗 Download PDFInfo
- Publication number
- CN110537175A CN110537175A CN201880026160.XA CN201880026160A CN110537175A CN 110537175 A CN110537175 A CN 110537175A CN 201880026160 A CN201880026160 A CN 201880026160A CN 110537175 A CN110537175 A CN 110537175A
- Authority
- CN
- China
- Prior art keywords
- query
- execution
- resource consumption
- machine learning
- resource
- 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
- 238000010801 machine learning Methods 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 claims abstract description 133
- 230000015654 memory Effects 0.000 claims abstract description 42
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000001514 detection method Methods 0.000 claims abstract description 11
- 238000012549 training Methods 0.000 claims description 31
- 230000004044 response Effects 0.000 claims description 19
- 230000003044 adaptive effect Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 9
- 230000000977 initiatory effect Effects 0.000 claims description 8
- 230000008901 benefit Effects 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000005259 measurement Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 49
- 239000013598 vector Substances 0.000 description 40
- 238000007726 management method Methods 0.000 description 23
- 239000011159 matrix material Substances 0.000 description 16
- 238000012360 testing method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000013459 approach Methods 0.000 description 4
- 238000010219 correlation analysis Methods 0.000 description 4
- 238000013523 data management Methods 0.000 description 4
- 238000012706 support-vector machine Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- MXCVHSXCXPHOLP-UHFFFAOYSA-N 4-oxo-6-propylchromene-2-carboxylic acid Chemical compound O1C(C(O)=O)=CC(=O)C2=CC(CCC)=CC=C21 MXCVHSXCXPHOLP-UHFFFAOYSA-N 0.000 description 1
- IJJWOSAXNHWBPR-HUBLWGQQSA-N 5-[(3as,4s,6ar)-2-oxo-1,3,3a,4,6,6a-hexahydrothieno[3,4-d]imidazol-4-yl]-n-(6-hydrazinyl-6-oxohexyl)pentanamide Chemical compound N1C(=O)N[C@@H]2[C@H](CCCCC(=O)NCCCCCC(=O)NN)SC[C@@H]21 IJJWOSAXNHWBPR-HUBLWGQQSA-N 0.000 description 1
- 241001637516 Polygonia c-album Species 0.000 description 1
- RTAQQCXQSZGOHL-UHFFFAOYSA-N Titanium Chemical compound [Ti] RTAQQCXQSZGOHL-UHFFFAOYSA-N 0.000 description 1
- 238000011497 Univariate linear regression Methods 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 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/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
- G06F16/24545—Selectivity estimation or determination
-
- 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/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
-
- 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
- G06F16/24532—Query optimisation of parallel queries
-
- 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
- G06F16/24534—Query rewriting; Transformation
- G06F16/24547—Optimisations to support specific applications; Extensibility of optimisers
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
提供了一种用于在大规模并行处理数据库(massively parallel processing database,简称MPPDB)中利用机器学习估计查询资源消耗的方法和装置。在各种实施例中,所述机器学习可以联合执行所述查询资源消耗估计和资源极端事件检测;利用自适应内核,所述自适应内核用于针对每个系统设置的数据学习最佳相似关系度量;以及利用多层堆叠技术,所述多层堆叠技术用于利用各种基本分类器模型的输出。所公开的实施例的优势和优点包括提供更快和更可靠的系统性能以及避免发生存储空间用完(out of memory,简称OOM)事件等资源问题。
Description
相关申请案交叉申请
本申请要求于2018年4月23日递交的、申请序列号为15/959,442、发明名称为“利用机器学习估计MPPDB中的查询资源消耗”的美国非临时申请案的在先申请优先权,其又要求于2017年5月1日递交的、申请序列号为62/492,706、发明名称为“利用机器学习估计MPPDB中的查询资源消耗”的美国临时申请案的在先申请优先权,这两份专利申请案的全部内容通过引用结合在本文中。
技术领域
本发明的实施例涉及机器学习领域,尤其涉及一种用于在大规模并行处理数据库(massively parallel processing database,简称MPPDB)中利用机器学习估计查询资源消耗的方法和装置。
背景技术
机器学习是一种人工智能(artificial intelligence,简称AI)的应用,为系统提供自动学习和改进示例、数据集、直接经验或指令而无需显式编程的能力。其主要目的在于允许计算机在没有人工干预或辅助的情况下自动学习并相应地调整操作。
发明内容
根据本发明的一方面,提供了一种方法,包括:接收来自客户端设备的查询;通过解析所述查询以确定所述查询的运算符和所述运算符的序列,生成所述查询的查询计划;基于所述查询计划,通过使用自动建立分析模型的机器学习技术生成的预测训练模型进行所述查询的查询资源消耗估计;基于所述查询的查询资源消耗估计确定当前可用系统资源是否足以启动所述查询的执行;响应于基于所述查询的查询资源消耗估计确定所述当前可用系统资源足以执行所述查询,启动所述查询的执行;在所述查询执行完成后接收所述查询的结果;将所述查询的结果返回给所述客户端设备。
可选地,在上述方面中的任一方面中,所述方法还包括:响应于基于所述查询的查询资源消耗估计确定所述当前可用系统资源不足以启动所述查询的执行,基于并发查询执行计划执行所述查询。
可选地,在上述方面中的任一方面中,所述方法还包括:响应于启动所述查询的执行,通过所述查询的查询资源消耗估计来减少所述当前可用系统资源。
可选地,在上述方面中的任一方面中,所述方法还包括:响应于完成所述查询的执行,通过所述查询的查询资源消耗估计来增加所述当前可用系统资源。
可选地,在上述方面中的任一方面中,为所述查询生成所述查询计划的过程包括:将所述查询解析为执行层次树,其中所述执行层次树的每个树节点表示运算符。
可选地,在上述方面中的任一方面中,所述方法还包括:确定所述查询中每个运算符出现的实例的数量,以及所述运算符的每个实例的基数之和。
可选地,在上述方面中的任一方面中,所述方面的另一种实现方式提供了所述机器学习技术利用自适应内核,所述自适应内核用于针对各种系统设置和数据学习不同内核度量。
可选地,在上述方面中的任一方面中,所述方面的另一种实现方式提供了所述机器学习技术利用多级堆叠技术,所述多级堆叠技术用于利用不同基本分类器模型的输出。
可选地,在上述方面中的任一方面中,所述方面的另一种实现方式提供了所述机器学习技术联合执行查询资源消耗估计和资源极端事件检测。
可选地,在上述方面中的任一方面中,所述方法还包括:响应于基于所述查询的查询资源消耗估计确定所述当前可用系统资源不足以启动所述查询的执行,将所述查询放置到查询执行队列中。
根据本发明的第二方面,提供了一种查询管理设备,所述查询管理设备包括网络通信接口、存储器和一个或多个处理器,所述网络通信接口用于实现网络通信;存储器包括指令;一个或多个处理器与所述网络通信接口和所述存储器通信,其中,所述一个或多个处理器执行以下指令:接收来自客户端设备的查询;通过解析所述查询以确定所述查询的运算符和所述运算符的序列,生成所述查询的查询计划;基于所述查询计划,通过使用自动建立分析模型的机器学习技术生成的预测训练模型进行所述查询的查询资源消耗估计;基于所述查询的查询资源消耗估计确定当前可用系统资源是否足以启动所述查询的执行;响应于基于所述查询的查询资源消耗估计确定所述当前可用系统资源足以执行所述查询,启动所述查询的执行;在所述查询执行完成后接收所述查询的结果;将查询结果返回给客户端设备。
可选地,在上述方面中的任一方面中,所述查询管理设备的另一种实现方式提供了所述处理单元响应于基于所述查询的查询资源消耗估计确定所述当前可用系统资源不足以启动所述查询的执行,基于并发查询执行计划执行所述查询。
可选地,在上述方面中的任一方面中,所述查询管理设备的另一种实现方式提供了所述处理单元执行以下可执行指令:响应于启动所述查询的执行,通过所述查询的查询资源消耗估计来减少所述当前可用系统资源。
可选地,在上述方面中的任一方面中,所述查询管理设备的另一种实现方式提供了所述处理单元执行以下可执行指令:响应于完成所述查询的执行,通过所述查询的查询资源消耗估计来增加所述当前可用系统资源。
可选地,在上述方面中的任一方面中,所述查询管理设备的另一种实现方式提供了为所述查询生成所述查询计划的过程包括:将所述查询解析为执行层次树,其中所述执行层次树的每个树节点表示运算符。
可选地,在上述方面中的任一方面中,所述查询管理设备的另一种实现方式提供了所述处理单元执行以下可执行指令:确定所述查询中每个运算符出现的实例的数量,以及所述运算符的每个实例的基数之和。
可选地,在上述方面中的任一方面中,所述查询管理设备的另一种实现方式提供了所述机器学习技术利用自适应内核,所述自适应内核用于针对各种系统设置和数据学习不同内核度量。可选地,在上述方面中的任一方面中,所述查询管理设备的另一种实现方式提供了所述机器学习技术利用多级堆叠技术,所述多级堆叠技术用于利用不同基本分类器模型的输出。
可选地,在上述方面中的任一方面中,查询管理设备的另一种实现方式提供了所述机器学习技术联合执行查询资源消耗估计和资源极端事件检测。
应当理解的是,本发明的实施例还包括上述项目的所有组合。
附图说明
为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。
图1是本发明实施例提供的一种联合预测机器学习系统的高层系统架构示意图;
图2是本发明实施例提供的一种利用机器学习估计系统资源利用率任务的简化视图的示意图;
图3是本发明实施例提供的一种预测ML过程的示意图;
图4是本发明实施例提供的一种用于生成查询计划特征向量的过程的示意图;
图5是本发明实施例提供的一种用于预测所述工作负载的过程的示意图;
图6是本发明实施例提供的两级堆叠技术的示意图;
图7是本发明实施例提供的一种用于查询并发管理流程控制的过程的流程图;
图8是本发明实施例提供的装置的示意图。
所示的附图仅是示例性的,并不旨在声明或暗示对环境、架构、设计或过程的任何限制,其中,可以实现不同的实施例。任何可选的组件或步骤在所示的附图中使用虚线表示。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
本发明公开了一种用于在MPPDB中利用机器学习估计查询资源消耗的方法。MPPDB是一种数据库管理系统,将数据跨多个服务器或节点进行分区,以便能够将查询拆分成一组协作进程,这些协作进程在一个或多个节点上并行执行,从而获得更快的结果。系统资源是提供某些能力并有助于系统整体性能的组件。系统资源的非限制性示例包括系统存储器、超速缓存内存、硬盘空间、中央处理器(central processing unit,简称CPU)、输入/输出(input/output,简称I/O)通道。所公开的实施例包括工作负载管理(workloadmanagement,简称WLM)组件,其使用创新的机器学习技术来估计查询资源成本。从而提高了查询并发级别和系统资源利用率。此外,避免了资源极端事件,例如(但不限于)存储空间用完(out of memory,简称OOM)事件。
在目前大型数据库管理系统中,如华为Gauss200在线分析处理(On-LineAnalytical Processing,简称OLAP)数据仓库系统,查询可能比较复杂。所述查询的执行时间范围可以从秒到小时(甚至是天)。长期运行的查询可能需要使用资源密集型运算符,例如排序和/或哈希连接。所述运算符使用资源对其输入数据进行排序和/或加入其数据集。分配给所述运算符的资源数量会影响所述查询的性能,例如,所占用的时间。通常,分配的资源空间越大,所述查询的性能就越好。然而,计算机系统中可用的资源有限,资源被所有并发查询(和运算符)共享。因此,所述数据库系统面临的挑战是,在系统资源有限的情况下,设计一种有效的策略来管理查询并发级别。然而,有效管理查询并发级别可能是一项极其困难的任务,因为利用当前技术难以准确估计查询资源消耗。
例如,假设运行Gauss200OLAP数据仓库系统的计算机系统的可用存储空间为64GB,并且三个查询(Q1、Q2和Q3)依次到达系统。采用现有技术,三个查询的每一个的估计存储开销为20GB(即<Q1,20GB>,<Q2,20GB>,<Q3,20GB>)。Q1首先被允许进入数据库系统,并开始执行,因为它的存储开销为20GB,小于系统当前可用的64GB存储器。因此,可以容纳所述查询。当Q1开始执行时,所述系统的当前可用存储空间减少到44GB。在一个实施例中,所述存储簿记由所述数据库系统中的工作负载管理器(例如,aWLM组件)处理。允许进入所述数据库系统后,由于所述计算机系统当前可用存储空间为44GB,足够用于Q2,即<Q2,20GB>和Q3,即<Q3,20GB>,所以Q2和Q3开始执行,这三个查询执行后,系统估计还剩下4GB。然而,在现实中,所述系统中可能仍然会出现OOM问题。原因是所估计的存储消耗不准确。例如,如果这三个查询中的每一个都消耗了24GB的存储空间,而不是估计的20GB,则会出现OOM,因为实际需要的存储空间是72GB,大于可用的64GB的存储空间。如果所估计的资源消耗准确,则可以避免这个OOM问题。例如,如果所估计的Q1、Q2和Q3的存储消耗为24GB,则所述系统可以启动Q1的执行,因为所述系统当前可用存储空间为64GB。所述系统还可以启动Q2的执行,因为在统计Q1之后,所述系统当前可用存储空间为40GB,大于所估计的Q2的存储消耗。在对Q1和Q2都进行统计后,所述系统当前可用存储空间为16GB,这不足以执行Q3。所述系统将Q3放置在执行队列中,直到所述系统的当前可用存储空间足以执行Q3。因此,由于精确估计了所述查询中的每个查询的存储消耗,因此避免了OOM。
在某些可选实施例中,如果基于其估计的资源消耗执行所述查询不会将所述可用系统资源减少到超过特定阈值,则所述WLM组件可以用于仅执行查询。例如,所述WLM可用于在特定查询或其它系统进程超过预期存储消耗的情况下,始终尝试并维护至少4GB的可用系统存储空间。因此,所述阈值使得所述WLM能够保持一缓冲区以防止发生OOM。在这些实施例中,即使所述可用的系统存储空间(例如,20GB)足以执行查询资源消耗估计为20GB的查询以防止发生OOM的可能性,所述WLM仍可将用于执行的查询放入队列。
如上所示,针对查询并发级别管理准确估计资源消耗或其它系统资源是有利的。然而,目前试图估计资源消耗的技术至少有四个限制。首先,大多数技术只关注利用率估计,没有发现所述资源极端事件的能力。其次,大多数技术都专注于利用率预测,没有考虑到学习资源消耗和异常资源使用(如极端事件)任务的互利性。第三,来自实际应用的数据通常是非线性可分离的。当前的技术通常将标准内核方法(例如径向基函数(radial basisfunction,简称RBF),或多内核)用于非线性任务。然而,这些标准内核方法中的每个方法都具有很强的数据分布假设。此外,在不同的系统设置中,给定的查询没有自适应内核或距离度量。第四,直接利用现有的机器学习技术查询资源消耗估计,对于过度拟合和概念漂移的问题比较敏感,特别是在数据中存在噪声的情况下。
相应地,在本发明中,公开了几个实施例,其中利用先进的机器学习技术自动建立分析模型,通过解决现有技术中的一个或多个上述限制,实现更好的系统资源估计。在一个实施例中,所公开的实施例可以用于管理MPPDB中的查询并发控制。需要说明的是,虽然本发明在MPPDB中采用存储估计的示例,但所公开的技术可以通过扩展来估计其它类型的系统资源消耗。所述技术也可以应用于其它数据库系统。
在本发明的各种实施例中,数据库管理系统用于执行以下任务:(1)估计资源利用率和(2)资源极端事件发现。如上所述,在各种实施例中,估计资源利用率在查询并发级别管理中发挥作用。此外,资源极端事件发现很重要,因为它可能直接导致OOM和系统崩溃。因此,这两个任务是相关的。例如,如果所述给定单元中的资源消耗为高值,则成为极端事件的概率较高。另一方面,如果时间单元对应的资源消耗较低,则成为极端事件的机会较小。基于来自实际数据管理系统的该观察,本发明提供了一种具有联合学习资源消耗估计和极端事件发现模型的能力的机器学习模型。
与现有系统不同,所公开的实施例准确估计资源成本以及检测有目的性地导致OOM和/或系统崩溃的极端资源事件。这两个相关任务的联合建模利用了彼此之间的信息,在训练阶段相互受益,从而达到更好的性能。
图1是本发明实施例提供的一种用于执行查询资源消耗估计和资源极端事件检测的联合预测机器学习系统100的高层系统架构的示意图。在一个实施例中,所述联合预测机器学习系统100联合或同时执行查询资源消耗估计和资源极端事件检测,因为它们可以在模型训练阶段彼此互利。联合预测机器学习系统100可以是广义的,并与任何基础机器学习技术一起工作。联合预测机器学习系统100提供自适应内核学习方法,所述自适应内核学习方法具有针对任意给定数据和系统设置自动学习合适的相似性或距离度量的能力。为了解决过度拟合和概念漂移的问题,联合预测机器学习系统100提供了一种健壮机器学习预测系统,该系统采用堆叠技术。联合预测机器学习系统100实现了几个创新目标,包括预测在系统开始执行时/之前的查询资源成本,预测可能的极端资源事件及其发生时间点,在控制资源竞争的同时提高查询并发级别,以及在避免OOM和系统崩溃等严重性能问题的同时提高系统性能和资源利用率。
在所描述的实施例中,联合预测机器学习系统100包括输入数据模块102、查询计划生成模块104、特征生成模块106、特征处理引擎108、预测模型模块110以及系统资源日志模块112。在一个实施例中,输入数据模块102包括跟踪数据库(database,简称DB)、查询集合以及包括每个时间单元处可能有的实际资源成本和峰值的系统日志。所述输入查询和数据库例如可以是关系型或非结构化查询语言(non-structured query language,简称NoSQL)数据库,例如用于图形数据库的Neo4j或Titan。如上所述,虽然所公开的实施例讨论了作为本发明的给定示例的存储器资源消耗估计,但所述联合预测机器学习框架可以很容易地用于估计其它系统资源消耗任务。
如图1所示,所述输入查询被转发至查询计划生成模块104,查询计划生成模块104使用DB优化器生成查询操作计划。例如,在一个实施例中,查询计划生成模块104负责使用所述数据管理系统的查询优化器为所述输入查询生成所述查询计划(例如,运算符及其顺序关系)。在一个实施例中,一旦所述查询提交至数据库服务器,并由所述解析器解析,则所述解析后的查询随后传递至所述查询优化器,所述查询优化器可以通过提示来引导所述查询优化器确定通过考虑所述可能的查询计划来执行给定查询的最有效的方式。查询计划生成模块104可以选择最佳的查询计划。然后,以用于访问数据库系统中的数据的有序运算符集合的形式,将所选择的查询计划转发至特征生成模块106。
特征生成模块106负责生成每个查询的一组特征表示,用于可能有助于理解资源成本的建模目的。在一个实施例中,对于每个输入查询,提取一组要表示的特征。例如,特征生成模块106可以考虑数据的大小、查询计划中使用的运算符、运算符的顺序/序列以及查询计划中每个运算符的选择性。在其它实施例中,还可以考虑其它类型的DB特征。然后将从所述查询中提取的特征传递至特征处理引擎108。
在某些实施例中,特征处理引擎108可用于进一步准备特征生成模块106提取的特征集合,因为特征生成模块106生成的特征可能不纯净。例如,所述特征可以包括重复信息、噪声特征或使用过高的维度。在一个实施例中,特征处理引擎108执行维度缩减和内核学习以提高特征表示的质量。本发明可以用于任何类型的特征提取和/或特征缩减技术,例如主成分分析(Principal Component Analysis,简称PCA)、概率潜在语义索引(Probabilisticlatent semantic indexing,简称PLSI)、潜在狄利克雷分配(Latent Dirichletallocation,简称LDA)等。
系统资源日志模块112用于捕获历史数据中的标签(例如,资源利用率和峰值)用于训练目的。在一个实施例中,系统资源日志模块112负责对所述输入系统日志进行预处理,并为两个任务生成标签。所述预处理工作可以包括去除背景噪声、提取所述峰值,以及将系统日志中的资源利用用于训练目的。
预测模型模块110用于对所述联合预测模型进行训练,以生成预测训练模型。在一个实施例中,给出所述预测训练模型和未执行的到达查询,预测模型模块110在每个时间单元输出所述估计的资源成本和检测到的峰值(极端事件)(如果有)。各组件的详细描述如下。
图2是本发明实施例提供的一种利用机器学习估计系统资源利用率任务的简化视图的示意图。在所描述的实施例中,可以采用机器学习模型208来接收系统204的输入工作负载和配置数据202。考虑到所述输入工作负载和配置数据202由所述系统204处理,机器学习模型208还用于接收系统204的性能和资源利用率度量数据206。在一个实施例中,机器学习模型208用于进行自动提取,以识别输入工作负载和配置数据202与测量的性能和资源使用度量数据206之间的关系。
机器学习模型208可用于在数据管理系统中使用各种机器学习技术进行资源估计,例如但不限于回归、典型相关分析(Canonical Correlation Analysis,简称CCA)和核典型相关分析(Kernel Canonical Correlation Analysis,简称KCCA)。回归是最简单的机器学习技术,具有良好的统计基础。所公开的实施例可以使用单变量回归或多变量回归来预测每个关注的性能指标。例如,在一个实施例中,使用多元回归预测每个感兴趣的性能指标,为每个工作负载特性定义了自变量x1、x2、……、xn,并且将每个性能度量视为单独的因变量y。在一个实施例中,回归的目标是求解等式a1x1+a2x2+……+anxn=y表示系数ai。使用回归的一个问题是,每个因变量生成一条回归曲线,因此难以解释各因变量之间的相互依赖关系。CCA是一种探索两个多变量变量集合(向量)之间关系的方法。例如,CCA考虑成对数据集,并查找两个数据集的最大相关维度。CCA的一个问题是,没有相关实例之间的相似性的概念,无法识别哪些已知工作负载实例从定性上与未知实例相似。KCCA是CCA的一种变体,它使用核函数捕获相似性。给定两个多元数据集,KCCA计算所述两个数据集的投影具有最大相关性的子空间的基向量。所述相关分析是成对距离,而不是原始数据本身。这种方法在捕获相似性方面提供了更多的可表达性,并且其相关性可以用于量化各种工作负载的性能相似性。关于这些技术的更多详细信息,请参见Archana Sulochana Ganapathi于2009年12月17日在加州大学伯克利分校发表的“通过统计机器学习预测和优化系统利用率和性能”博士论文;Hotelling,H.于1936年在《生物统计学》第28期第321至377页上发表的“两组变体之间的关系”;Bach,F.R.和M.I.Jordan于2002年在《机器学习研究杂志》第3期第1至48页发表的“核独立成分分析”,这些文章内容通过引用并入本文。在以下描述中,本发明将描述采用KCCA的机器学习模型208的实施例,然而如上所述,所公开的实施例可以使用各种机器学习技术在数据管理系统中进行资源估计。
图3是本发明实施例提供的一种预测ML过程300的示意图。特别地,图3示出了施加在工作负载特征向量数据集302和性能特征向量数据集308上的转换预测ML过程300。在一个实施例中,预测ML过程300首先为系统304的所有工作负载创建工作负载特征向量数据集302。基于所述给定的工作负载,为系统304的系统资源利用率和性能的每个相应观察构建性能特征向量数据集308。在一个实施例中,预测ML过程300使用查询计划生成工作负载特征向量数据集302(记为xk)。预测ML过程300可以从系统性能日志中构造性能特征向量数据集308(记为yk)。每个工作负载特征向量xk具有对应的性能特征向量yk。所述一组工作负载特征向量(xk)和相应的性能特征向量(yk)可以表示为{(xk,yk):k=1,...,N}。
如图3所示,工作负载特征向量数据集302和性能特征向量数据集308被输入到核函数中,所述核函数分别生成核矩阵Kx 306和核矩阵Ky 310。核函数是计算两个矢量参数之间的特征空间中的内积的算法。在所公开的实施例中可以使用的核函数的非限制性示例包括但不限于高斯、多项式、线性、样条、无范RBF、贝塞尔、拉普拉斯和双曲正切。在一个实施例中,预测ML过程300通过应用采用核矩阵Kx 306和Ky 310的KCCA算法312将工作负载特征向量数据集302的特征向量xk和性能特征向量数据集308的性能特征向量yk投影到数据集的最大相关维数314和316上,并解决以下广义特征向量问题:
其中,Kx表示工作负载特征向量x的成对相似核矩阵,Ky表示性能特征向量y的成对相似核矩阵,A表示由可投射Kx的子空间的基向量组成的矩阵,B表示由可投射Ky的子空间的基向量组成的矩阵,使得Kx*A和Ky*B的相关性最大。Kx*A为工作负载投影,Ky*B为性能投影。
如图3所示,由于跨越两个数据集的相关性最大化,所述原始输入空间中的看似不同的点最终会在所述投影中一起聚类。预测ML过程300产生的投影提供了两个关键属性,即基于有用相关维度的数量降低原始数据集的维度,并且将两个投影中的对应数据点并置。因此,存在一种聚类效应,可以保留跨投影的邻域。在所描述的实施例中,预测ML过程300计算子空间的基向量,给定两个多变量数据集、工作负载特征向量数据集302和性能特征向量数据集308,其中,所述两个数据集的投影具有最大相关性。该过程在由所述核函数的特征函数所跨越的线性空间中找到子空间,使得投射到这些子空间上的投影具有最大相关性。一旦已学习A和B,对于任何给定的查询,执行查询计划特征向量以在所述训练集中找到查询的最近邻居,并使用这些最近邻居的平均系统性能来预测该测试查询的性能向量。虽然预测ML过程300使用KCCA,但在各种实施例中,可以使用其它类型的预测ML算法,例如但不限于深度神经网络、长短期存储(Long Short Term Memory,简称LSTM)、递归神经网络(recurrent neural network,简称RNN)、支持向量机(Support Vector Machine,简称SVM)、决策树和X梯度提升(XGradient Boosting,简称XGBoosting)。
图4是本发明实施例提供的一种用于生成查询计划特征向量的过程400的示意图。在一个实施例中,过程400可用于预测ML过程300生成所述特征向量xk。如图4所示,过程400在方框402中接收查询。所述查询指定要选择的内容(例如,SELECTED n.name),其中(例如,FROM tbNation n,tbRegion r),选择条件(例如,WHERE n.regionkey=r.regionkey,r.name='EUROPE')和返回所选数据的顺序(例如,ORDER BY n.name)。在方框404中,过程400将所述查询解析为其运算符,以生成查询计划。运算符是在查询中用于执行比较和算术运算等运算的保留字或字符。运算符可用于指定条件或用作语句中多个条件的连接词。方框406中的过程400生成查询计划特征向量,其包括所述查询中每个运算符出现的实例的数量以及所述运算符的每个实例的基数之和。在一个实施例中,基数之和指示对应于运算符待处理的实际数据大小。例如,如果排序运算符在具有基数3000和45000的查询计划中出现两次,则查询计划特征向量包括包含值2的“排序实例计数”元素和包含值48000的“排序基数和”元素。
图5是本发明实施例提供的一种用于预测所述工作负载的过程500的示意图。过程500从用于查询的查询计划502开始。如图1所示,可以通过查询计划生成模块104生成查询计划502。查询计划502用于生成查询计划特征向量504,如图4中描述的过程400所示。查询计划特征向量504包括在特征向量数据集中,所述特征向量数据集包括用于启用查询并发管理的其它查询的查询计划特征向量。过程500将对KCCA过程506采用所述查询的特征向量数据集,以在所述训练集中查找查询的最近邻居,如查询计划投影508所示。然后,过程500将所述训练集中查询的最近邻居与其性能投影510相关联。在一个实施例中,过程500使用这些最近邻居的平均系统性能生成所述查询的预测性能向量512。
如上所述,所公开的实施例的一个创新特征是使用联合建模来联合检测所述资源极端事件并预测所述资源消耗。在一个实施例中,所述联合建模由单机学习模型执行。在可选的实施例中,可以训练两个机器学习模型,一个用于资源消耗,另一个用于极端事件检测。然而,在一个实施例中,通过执行联合建模同时预测资源消耗和资源使用极端事件,可以收集更多的信息,以在预测资源消耗和资源使用极端事件时提供更高的准确性。例如,如果单独执行这些任务,则可以使用最小二乘SVM(LS-SVM)作为上述两个任务的基础模型对每个任务进行独立建模。所述独立的利用率估计模型可以表示为如下等式:
其中,是通过优化最小化的目标,Wu表示资源利用率的权重矩阵,ei是模型训练中的第i个资源利用率预测误差,xi是训练集中的第i个查询,yi是与训练集中的第i个查询关联的资源利用率,bu,e,β是资源利用率预测模型的所有参数。
所述独立的极端事件检测模型可以用以下等式表示:
其中,是通过优化最小化的目标,Wp表示资源峰值(极端事件)检测的权重矩阵,ei是模型训练中的第i个资源峰值预测的误差,xi是训练集中的第i个查询,yi是当有任何(0/1)与训练集中的第i个查询关联时的资源峰值。bu,e,β是用于资源峰值预测的模型的所有参数。所公开的实施例认识到独立建模的某些缺点,包括忽略这两个任务之间的有益信息。例如,当以高资源成本预测数据实例时,与较低的事件相比,成为极端事件的概率更高。此外,当将数据实例预测为极端事件时,更有可能成为资源成本较高的查询。相应地,所公开的实施例应用一种创新的方法同时预测资源消耗和资源使用极端事件。因此,在执行一组查询之前,所公开的实施例将预测(1)资源利用率和(2)每个时间单元的任何极端事件。
以LS-SVM为基础技术的使用联合预测模型的非限制性示例可以用以下等式表示:
其中,(i,j)∈Eu是时隙i和j之间的资源利用关系,(i,j)∈Ep是时隙i和j之间的资源峰值关系,(i,j)∈Eup是第i个时隙的资源利用率与第j个时隙的资源峰值之间的关系。所有伽马都是要调整的参数,范围是(0,1)。所有其它变量均已定义。
在上式中,前6项(在-γ3项之前)描述了所述模型学习到的利用率和峰值预测。第7个项(-γ3项)描述了利用率之间的图形约束关系。第8项(-γ4项)描述了峰值之间的图形约束关系。最后一项(-γ5项)描述了两个任务之间的关系。虽然所描述的示例使用LS-SVM来执行资源成本估计的联合建模框架,但所公开的实施例可以很容易地扩展到其它类型的基础机器学习模型,例如回归、偏正则相关分析(partial canonical correlationanalysis,简称PCCA)等。
除了联合建模,所公开的实施例可以利用自适应内核学习。目前,本领域现有的机器学习技术选择了现有的一种核心方法,具有很强的数据分布假设,在实际应用中可能并不总是正确的。为了改进现有技术,所公开的实施例利用自适应内核学习技术,所述自适应内核学习技术具有针对各种未知分布的系统设置和数据学习最合适的内核度量的能力。在各种实施例中,每个系统的学习内核度量能够基于连续收集所述系统执行数据并基于所述分布可随时间变化随时间演变。
作为一种示例性实现方式,所公开的实施例可以将监督的线性内核用于资源相关特征,其中通过使所述诱导的加权内核与如下定义的地面真值内核一致来估计所述特征的权重:
其中,G(xi,xj)表示特征向量xi和xj之间的地面真值相似核矩阵,xi的标签为yi,xj的标签为yj;当yi和yj共用相同的标签时,G(xi,xj)等于1,否则为0。给出地面真值内核G,所述等式K(x,x′)=xTWx′通过求出使以下目标函数最小化的权重矩阵W,用于最佳近似G:
其中,将目标函数的值最小化,求出核权矩阵W,其中,Gij是特征向量xi和xj之间的地面真值内核相似性,X表示训练集中的数据矩阵,XWXT表示所述训练数据中学习到的内核矩阵,W是为使地面真值矩阵G与学习到的矩阵XWXT之间的差最小化而学习的参数矩阵,λ是用范围(0,1)调整的参数。
当G和XWXT彼此一致时,将第一项(在+运算符之前)最小化。第二项(在+运算符之后)是保持模型简洁的正则化项。所述目标函数的解式如下:
其中,左手侧取相对于W的偏导数,所有其它变量都已预先定义。
因此,任一测试实例x*与训练实例x的相似度用以下等式表示:
K(x,x*)=sign(xTWx*)
其中K(x,x^*)是数据特征向量x与x*的核相似性,符号是指示符,指示当XTWX*>0时,则符号(XTWX*)=1,否则为0,x是训练集中的特征向量,x*为测试集中的特征向量。
所公开的实施例的第三创新方面涉及用于健壮系统的堆叠。现有的方法是在训练集上训练模型,并通过检查“变化点”来调整参数。然而,在实际应用中,许多时候,验证错误(例如,离线训练)和测试错误(例如,在线测试/应用)不一致。离线验证和在线测试/应用不一致的一个原因是过度拟合和概念漂移,以及基本分类器模型的相关性很强。为了解决这一问题,各种实施例包括一种利用各种基本分类器模型的输出的堆叠技术。这提供了一个具有一致验证和测试性能的健壮系统。例如,所公开的实施例可以包括一种多级(深度)堆叠技术,其采用一组具有不同背景的本地预测模型。
例如,图6是本发明实施例提供的两级堆叠技术600的示意图。两级堆叠技术600提供一致的验证和测试性能。在所描述的实施例中,两级堆叠技术600采用五层堆叠技术。在一个实施例中,在第一种状态下,训练数据602分为五层,并用于使用留一法策略(4层数据用于训练目的,剩余一层用于预测)训练五个模型(模型1、模型3、模型3、模型4和模型5)。训练后的模型还应用于所述测试数据,并为每个模型生成一个预测(标记为新特征614)。在一个实施例中,在所述五个模型的训练数据602上获得三个不同的预测分数。每个预测分数可以从各种预测模型中生成,例如但不限于SVM、KCCA和XGBoosting。在一个实施例中,为了对所述测试数据进行预测,确定每个模型的5组预测分数的平均值。模型6包括针对不同预测模型的测试数据计算的平均预测分数。
对于第二阶段,预测分数626、628、630、632和634被视为测试数据636上的新训练数据。在一个实施例中,将来自第一状态620的测试数据的预测平均值用作新的测试数据622。使用预测模型624的新训练和测试数据集生成所述最终结果。堆叠技术的优点是避免了由于K次交叉验证而导致的过度拟合,并解释了由于将输出作为特征而导致特征间存在的非线性。
图7是本发明实施例提供的一种用于查询并发管理流程控制的过程700的流程图。在方框702中,过程700开始于接收一个或多个待执行的查询。在各种实施例中,可以从单个客户端设备或多个客户端设备在本地或通过网络接收一个或多个查询。客户端设备是请求执行查询的任何设备。在方框704中,将所述一个或多个查询传递给查询优化器以生成查询计划。在一个实施例中,所述查询优化器通过将所述查询解析为执行层次树来生成所述查询计划,以确定查询运算符及其顺序关系或所述运算符的序列以及每个运算符的实例数。在一个实施例中,所述执行层次树的每个树节点表示所述查询的运算符。
在方框706中,过程700应用机器学习(machine learning,简称ML)使用所述训练模型和执行计划对所述查询进行资源成本估计。在一个实施例中,方框706中的过程700输出所述估计的资源成本和检测到的峰值(极端事件)(如果有)。例如,采用所述创新技术,所述三个查询Q1、Q2和Q3的估计存储开销分别为24GB、24GB和24GB,表示为<Q1,24GB>、<Q2,24GB>和<Q3,24GB>。
在方框708中,过程700确定是否有足够的系统资源可用于启动所述查询的执行。如果方框708中的过程700确定有足够的系统资源可用于启动所述查询的执行,则过程700将所述查询传递给方框712中的工作负载管理器(workload manager,简称WLM),所述工作负载管理器用于通过将所述当前可用系统资源减少到执行所述查询所需的系统资源量来执行资源薄记。然后,在方框714中,过程700将所述查询传递给执行器,所述执行器用于执行所述查询。例如,使用具有64GB可用存储空间的系统和上述估计的Q1、Q2和Q3的存储开销,当查询Q1到达时,由于其存储开销为24GB,而所述系统的可用存储空间为64GB,因为所述查询的存储开销低于所述可用的系统存储空间,Q1被允许进入所述数据库系统并开始执行。当Q1开始执行或之前,所述工作负载管理器处理所述资源薄记,将所述系统可用存储空间减少到40GB。
在方框718中,当所述查询执行完成时,过程700接收所述查询的结果。在一个实施例中,方框718中的过程向请求所述查询执行的客户端设备返回或发送所述查询的结果。在方框716中,过程700通过所述WLM返回或释放所述查询使用的资源。返回到方框708,如果方框708中的过程700确定没有足够的系统资源可用于启动所述查询的执行,则过程700将所述查询传递到方框710中的WLM,所述WLM将所述查询放置到查询队列中执行,直到有足够的资源执行所述查询。过程700针对每个到达的查询重复执行。
此外,在某些实施例中,过程700可以同时一次处理或管理多于一个的查询。例如,在执行查询时,过程700可以开始处理其接收到的更多查询。例如,使用上述示例,在Q1开始执行之后,由于所述计算机系统的可用存储空间为40GB,大于<Q2,24GB>的估计系统存储开销,过程700也启动Q2的执行。在执行Q1和Q2时,所述系统有16GB的系统存储空间可用。因此,所述系统的当前可用16GB存储空间不足以启动Q3即<Q3,24GB>的执行,因此,Q3在等待队列中排队以避免发生系统OOM。
相应地,本发明实施例提供了一种用于并发查询资源利用率和极端事件检测的联合预测模型。所公开的联合预测框架可以被推广,并用于任何基础机器学习技术。为解决数据非线性可分离的问题,提出了一种自适应内核方法。自适应内核方法自动学习给定数据和系统设置的最合适的相似性函数/距离度量。为了避免过度拟合和概念漂移,提出了一种采用堆叠技术的健壮机器学习预测系统。
所公开的实施例的优点和益处包括但不限于提供更快和更可靠的系统性能。例如,避免了严重的性能问题,例如OOM,系统性能变得平滑和可预测,系统资源得到更好的利用和管理,并且由于基于查询成本动态调整查询并发级别,资源利用率得到提高。此外,还可以提高中央处理器(central processing unit,简称CPU)和磁盘输入/输出(input/output,简称I/O)资源的利用率。因此,本发明实施例提供了更好的客户体验。
图8是本发明实施例提供的工作负载管理设备800的示意图。工作负载管理设备800适于实现如本文所述的公开的实施例。工作负载管理设备800包括用于接收数据的入端口810和接收器单元(receiver unit,简称Rx)820;用于处理所述数据的处理器、逻辑单元或CPU 830;用于传输所述数据的发射器单元(transmitter unit,简称Tx)840和出端口850;以及用于存储所述数据的存储器860。工作负载管理设备800还可以包括光电(optical-to-electrical,简称OE)组件和电光(electrical-to-optical,简称EO)组件,所述组件耦合到入端口810、接收器单元820、发射器单元840和出端口850用于光或电信号的出入。
处理器830通过硬件和软件来实现。处理器830可用作一个或多个CPU芯片、核芯(例如,作为多核处理器)、现场可编程门阵列(field-programmable gate array,简称FPGA)、专用集成电路(application specific integrated circuit,简称ASIC)和/或数字信号处理器(digital signal processor,简称DSP)予以实现。处理器830与入端口810、接收单元820、发射器单元840、出端口850和存储器860通信。处理器830包括联合预测机器学习模块870。联合预测机器学习模块870实现上述公开的实施例。例如,联合预测机器学习模块870实现、处理、准备或提供本文公开的各种功能。因此,包含联合预测机器学习模块870可以为工作负载管理设备800的功能提供实质性的改进,并实现资源管理设备800向不同状态的转换。或者,联合预测机器学习模块870作为存储器860中存储并由处理器830执行的指令实现。
存储器860包括一个或多个磁盘、磁带驱动器和固态驱动器,可用作溢出数据存储设备,用于在选择执行这些程序时存储程序,以及存储程序执行时读取的指令和数据。存储器860可以是易失性和/或非易失性,并且可以是只读存储器(read-only memory,简称ROM)、随机存取(random-access,简称RAM)、三重内容寻址内存(ternary content-addressable memory,简称TCAM)和/或静态随机存取存储器(static random-accessmemory,简称SRAM)。
虽然本发明多个具体实施例,但应当理解,所公开的系统和方法也可通过其它多种具体形式体现,而不会脱离本发明的精神或范围。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文中所给出的细节。例如,各种元件或组件可以在另一系统中组合或整合,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法进行组合或合并。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式经由某一接口、设备或中间组件间接地耦合或通信。其它变更、替换、更替示例对本领域技术人员而言是显而易见的,均不脱离此处公开的精神和范围。
Claims (20)
1.一种用于执行查询的方法,其特征在于,所述方法包括:
接收来自客户端设备的查询;
通过解析所述查询以确定所述查询的运算符和所述运算符的序列,生成所述查询的查询计划;
基于所述查询计划,通过使用自动建立分析模型的机器学习技术生成的预测训练模型进行所述查询的查询资源消耗估计;
基于所述查询的所述查询资源消耗估计确定当前可用系统资源是否足以启动所述查询的执行;
响应于基于所述查询的所述查询资源消耗估计确定所述当前可用系统资源足以执行所述查询,启动所述查询的执行;
在所述查询执行完成后接收所述查询的结果;
将所述查询的结果返回给所述客户端设备。
2.根据权利要求1所述的方法,其特征在于,还包括:响应于基于所述查询的所述查询资源消耗估计确定所述当前可用系统资源不足以启动所述查询的执行,基于并发查询执行计划执行所述查询。
3.根据权利要求1所述的方法,其特征在于,还包括:响应于启动所述查询的执行,通过所述查询的所述查询资源消耗估计来减少所述当前可用系统资源。
4.根据权利要求1所述的方法,其特征在于,还包括:响应于完成所述查询的执行,通过所述查询的所述查询资源消耗估计来增加所述当前可用系统资源。
5.根据权利要求1所述的方法,其特征在于,为所述查询生成所述查询计划还包括:将所述查询解析为执行层次树,其中所述执行层次树的每个树节点表示运算符。
6.根据权利要求5所述的方法,其特征在于,还包括:确定所述查询中每个运算符出现的实例的数量,以及所述运算符的每个实例的基数之和。
7.根据权利要求1所述的方法,其特征在于,所述机器学习技术利用自适应内核,所述自适应内核用于针对各种系统设置和数据学习不同内核度量。
8.根据权利要求1所述的方法,其特征在于,所述机器学习技术利用多级堆叠技术,所述多级堆叠技术用于利用不同基本分类器模型的输出。
9.根据权利要求1所述的方法,其特征在于,所述机器学习技术联合执行所述查询资源消耗估计和资源极端事件检测。
10.根据权利要求1所述的方法,其特征在于,还包括:响应于基于所述查询的所述查询资源消耗估计确定所述当前可用系统资源不足以启动所述查询的执行,将所述查询放置到查询执行队列中。
11.一种查询管理设备,其特征在于,包括:
网络通信接口,用于实现网络通信
存储器,包括指令;
一个或多个处理器,与所述网络通信接口和所述存储器通信,其中,所述一个或多个处理器执行以下指令:
接收来自客户端设备的查询;
通过解析所述查询以确定所述查询的运算符和所述运算符的序列,生成所述查询的查询计划;
基于所述查询计划,通过使用自动建立分析模型的机器学习技术生成的预测训练模型进行所述查询的所述查询资源消耗估计;
基于所述查询的所述查询资源消耗估计确定当前可用系统资源是否足以启动所述查询的执行;
响应于基于所述查询的所述查询资源消耗估计确定所述当前可用系统资源足以执行所述查询,启动所述查询的执行;
在所述查询执行完成后接收所述查询的结果;
将查询结果返回给客户端设备。
12.根据权利要求11所述的查询管理设备,其特征在于,所述处理单元还执行以下可执行指令:响应于基于所述查询的所述查询资源消耗估计确定所述当前可用系统资源不足以启动所述查询的执行,基于并发查询执行计划执行所述查询。
13.根据权利要求11所述的查询管理设备,其特征在于,所述处理单元还执行以下可执行指令,响应于启动所述查询的执行,通过所述查询的所述查询资源消耗估计来减少所述当前可用系统资源。
14.根据权利要求11所述的查询管理设备,其特征在于,所述处理单元还执行以下可执行指令,响应于完成所述查询的执行,通过所述查询的所述查询资源消耗估计来增加所述当前可用系统资源。
15.根据权利要求11所述的查询管理设备,其特征在于,为所述查询生成所述查询计划包括:将所述查询解析为执行层次树,其中所述执行层次树的每个树节点表示运算符。
16.根据权利要求15所述的查询管理设备,其特征在于,所述处理单元还执行以下可执行指令:确定所述查询中每个运算符出现的实例的数量,以及所述运算符的每个实例的基数之和。
17.根据权利要求11所述的查询管理设备,其特征在于,所述机器学习技术利用自适应内核,所述自适应内核用于针对各种查询管理设备设置和数据学习不同内核度量。
18.根据权利要求11所述的查询管理设备,其特征在于,所述机器学习技术利用多级堆叠技术,所述多级堆叠技术用于利用不同基本分类器模型的输出。
19.根据权利要求11所述的查询管理设备,其特征在于,所述机器学习技术联合执行所述查询资源消耗估计和资源极端事件检测。
20.根据权利要求11所述的查询管理设备,其特征在于,所述处理单元还执行以下可执行指令:响应于基于所述查询的所述查询资源消耗估计确定所述当前可用系统资源不足以启动所述查询的执行,将所述查询放置到查询执行队列中。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762492706P | 2017-05-01 | 2017-05-01 | |
US62/492,706 | 2017-05-01 | ||
US15/959,442 | 2018-04-23 | ||
US15/959,442 US11537615B2 (en) | 2017-05-01 | 2018-04-23 | Using machine learning to estimate query resource consumption in MPPDB |
PCT/CN2018/084464 WO2018201948A1 (en) | 2017-05-01 | 2018-04-25 | Using machine learning to estimate query resource consumption in mppdb |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110537175A true CN110537175A (zh) | 2019-12-03 |
CN110537175B CN110537175B (zh) | 2022-07-22 |
Family
ID=63917198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880026160.XA Active CN110537175B (zh) | 2017-05-01 | 2018-04-25 | 利用机器学习估计mppdb中的查询资源消耗的方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11537615B2 (zh) |
EP (1) | EP3607477A4 (zh) |
CN (1) | CN110537175B (zh) |
WO (1) | WO2018201948A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022062777A1 (zh) * | 2020-09-22 | 2022-03-31 | 中兴通讯股份有限公司 | 数据管理方法、数据管理装置及存储介质 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10909150B2 (en) * | 2018-01-19 | 2021-02-02 | Hypernet Labs, Inc. | Decentralized latent semantic index using distributed average consensus |
US10878482B2 (en) | 2018-01-19 | 2020-12-29 | Hypernet Labs, Inc. | Decentralized recommendations using distributed average consensus |
US11244243B2 (en) | 2018-01-19 | 2022-02-08 | Hypernet Labs, Inc. | Coordinated learning using distributed average consensus |
US10942783B2 (en) | 2018-01-19 | 2021-03-09 | Hypernet Labs, Inc. | Distributed computing using distributed average consensus |
US11048694B2 (en) * | 2018-04-26 | 2021-06-29 | International Business Machines Corporation | Median based estimation of database query responses |
US11061902B2 (en) * | 2018-10-18 | 2021-07-13 | Oracle International Corporation | Automated configuration parameter tuning for database performance |
US11429893B1 (en) * | 2018-11-13 | 2022-08-30 | Amazon Technologies, Inc. | Massively parallel real-time database-integrated machine learning inference engine |
US12067009B2 (en) * | 2018-12-10 | 2024-08-20 | Teradata Us, Inc. | Predictive query parsing time and optimization |
US11544236B2 (en) * | 2018-12-28 | 2023-01-03 | Teradata Us, Inc. | Machine-learning driven database management |
CN109635118A (zh) * | 2019-01-10 | 2019-04-16 | 博拉网络股份有限公司 | 一种基于大数据的用户搜索匹配方法 |
EP3690751A1 (en) * | 2019-01-31 | 2020-08-05 | Siemens Aktiengesellschaft | A method for building a deep latent feature extractor for industrial sensor data |
US11138266B2 (en) * | 2019-02-21 | 2021-10-05 | Microsoft Technology Licensing, Llc | Leveraging query executions to improve index recommendations |
US11971793B2 (en) | 2019-03-05 | 2024-04-30 | Micro Focus Llc | Machine learning model-based dynamic prediction of estimated query execution time taking into account other, concurrently executing queries |
CN110166282B (zh) * | 2019-04-16 | 2020-12-01 | 苏宁云计算有限公司 | 资源分配方法、装置、计算机设备和存储介质 |
CN111949631B (zh) * | 2019-05-14 | 2024-06-25 | 华为技术有限公司 | 一种确定数据库的配置参数的方法及装置 |
CN110888859B (zh) * | 2019-11-01 | 2022-04-01 | 浙江大学 | 一种基于组合深度神经网络的连接基数估计方法 |
US11748350B2 (en) * | 2020-02-21 | 2023-09-05 | Microsoft Technology Licensing, Llc | System and method for machine learning for system deployments without performance regressions |
US11327969B2 (en) * | 2020-07-15 | 2022-05-10 | Oracle International Corporation | Term vector modeling of database workloads |
CN111953701B (zh) * | 2020-08-19 | 2022-10-11 | 福州大学 | 基于多维特征融合和堆栈集成学习的异常流量检测方法 |
US11500830B2 (en) * | 2020-10-15 | 2022-11-15 | International Business Machines Corporation | Learning-based workload resource optimization for database management systems |
US11500871B1 (en) * | 2020-10-19 | 2022-11-15 | Splunk Inc. | Systems and methods for decoupling search processing language and machine learning analytics from storage of accessed data |
US11636124B1 (en) * | 2020-11-25 | 2023-04-25 | Amazon Technologies, Inc. | Integrating query optimization with machine learning model prediction |
US11657069B1 (en) | 2020-11-25 | 2023-05-23 | Amazon Technologies, Inc. | Dynamic compilation of machine learning models based on hardware configurations |
US11762860B1 (en) * | 2020-12-10 | 2023-09-19 | Amazon Technologies, Inc. | Dynamic concurrency level management for database queries |
US20220222231A1 (en) * | 2021-01-13 | 2022-07-14 | Coupang Corp. | Computerized systems and methods for using artificial intelligence to optimize database parameters |
US11568320B2 (en) * | 2021-01-21 | 2023-01-31 | Snowflake Inc. | Handling system-characteristics drift in machine learning applications |
US11907250B2 (en) * | 2022-07-22 | 2024-02-20 | Oracle International Corporation | Workload-aware data encoding |
US11921692B1 (en) * | 2022-09-16 | 2024-03-05 | Capital One Services, Llc | Computer-based systems configured for automatically updating a database based on an initiation of a dynamic machine-learning verification and methods of use thereof |
US20240311380A1 (en) * | 2023-03-16 | 2024-09-19 | Microsoft Technology Licensing, Llc | Query processing on accelerated processing units |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100082599A1 (en) * | 2008-09-30 | 2010-04-01 | Goetz Graefe | Characterizing Queries To Predict Execution In A Database |
CN102362276A (zh) * | 2009-04-01 | 2012-02-22 | 赛贝斯股份有限公司 | 测试数据库查询引擎的效率和稳定性 |
US20130185730A1 (en) * | 2011-11-02 | 2013-07-18 | International Business Machines Corporation | Managing resources for maintenance tasks in computing systems |
US20140372356A1 (en) * | 2013-06-12 | 2014-12-18 | Microsoft Corporation | Predictive pre-launch for applications |
US20150286684A1 (en) * | 2013-11-06 | 2015-10-08 | Software Ag | Complex event processing (cep) based system for handling performance issues of a cep system and corresponding method |
CN105183850A (zh) * | 2015-09-07 | 2015-12-23 | 百度在线网络技术(北京)有限公司 | 基于人工智能的信息查询方法及装置 |
CN105279286A (zh) * | 2015-11-27 | 2016-01-27 | 陕西艾特信息化工程咨询有限责任公司 | 一种交互式大数据分析查询处理方法 |
US20160188594A1 (en) * | 2014-12-31 | 2016-06-30 | Cloudera, Inc. | Resource management in a distributed computing environment |
US20160217003A1 (en) * | 2013-06-24 | 2016-07-28 | Sap Se | Task Scheduling for Highly Concurrent Analytical and Transaction Workloads |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7426509B2 (en) * | 2002-11-15 | 2008-09-16 | Justsystems Evans Research, Inc. | Method and apparatus for document filtering using ensemble filters |
US8275762B2 (en) * | 2008-10-21 | 2012-09-25 | Hewlett-Packard Development Company, L.P. | Reverse mapping of feature space to predict execution in a database |
US20120246158A1 (en) | 2011-03-25 | 2012-09-27 | Microsoft Corporation | Co-range partition for query plan optimization and data-parallel programming model |
EP3015981B1 (en) * | 2014-10-31 | 2018-07-25 | Khalifa University of Science, Technology and Research | Networked resource provisioning system |
US11194809B2 (en) * | 2016-12-02 | 2021-12-07 | International Business Machines Corporation | Predicting performance of database queries |
-
2018
- 2018-04-23 US US15/959,442 patent/US11537615B2/en active Active
- 2018-04-25 WO PCT/CN2018/084464 patent/WO2018201948A1/en unknown
- 2018-04-25 CN CN201880026160.XA patent/CN110537175B/zh active Active
- 2018-04-25 EP EP18794005.1A patent/EP3607477A4/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100082599A1 (en) * | 2008-09-30 | 2010-04-01 | Goetz Graefe | Characterizing Queries To Predict Execution In A Database |
CN102362276A (zh) * | 2009-04-01 | 2012-02-22 | 赛贝斯股份有限公司 | 测试数据库查询引擎的效率和稳定性 |
US20130185730A1 (en) * | 2011-11-02 | 2013-07-18 | International Business Machines Corporation | Managing resources for maintenance tasks in computing systems |
US20140372356A1 (en) * | 2013-06-12 | 2014-12-18 | Microsoft Corporation | Predictive pre-launch for applications |
US20160217003A1 (en) * | 2013-06-24 | 2016-07-28 | Sap Se | Task Scheduling for Highly Concurrent Analytical and Transaction Workloads |
US20150286684A1 (en) * | 2013-11-06 | 2015-10-08 | Software Ag | Complex event processing (cep) based system for handling performance issues of a cep system and corresponding method |
US20160188594A1 (en) * | 2014-12-31 | 2016-06-30 | Cloudera, Inc. | Resource management in a distributed computing environment |
CN105183850A (zh) * | 2015-09-07 | 2015-12-23 | 百度在线网络技术(北京)有限公司 | 基于人工智能的信息查询方法及装置 |
CN105279286A (zh) * | 2015-11-27 | 2016-01-27 | 陕西艾特信息化工程咨询有限责任公司 | 一种交互式大数据分析查询处理方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022062777A1 (zh) * | 2020-09-22 | 2022-03-31 | 中兴通讯股份有限公司 | 数据管理方法、数据管理装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3607477A4 (en) | 2020-02-26 |
US20180314735A1 (en) | 2018-11-01 |
CN110537175B (zh) | 2022-07-22 |
EP3607477A1 (en) | 2020-02-12 |
WO2018201948A1 (en) | 2018-11-08 |
US11537615B2 (en) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110537175B (zh) | 利用机器学习估计mppdb中的查询资源消耗的方法及装置 | |
US11461659B2 (en) | Feature set determining method and apparatus | |
Shang et al. | Democratizing data science through interactive curation of ml pipelines | |
US11061902B2 (en) | Automated configuration parameter tuning for database performance | |
US20190079846A1 (en) | Application performance control system for real time monitoring and control of distributed data processing applications | |
US20210182602A1 (en) | Flexible imputation of missing data | |
Zhong et al. | Self-taught multi-view spectral clustering | |
CN115617830A (zh) | 一种基于机器学习的数据查询优化处理方法及装置 | |
CN109784405A (zh) | 基于伪标签学习和语义一致性的跨模态检索方法及系统 | |
Chen et al. | Towards interpretable and learnable risk analysis for entity resolution | |
Šehić et al. | Lassobench: A high-dimensional hyperparameter optimization benchmark suite for lasso | |
Liu et al. | Failure prediction of tasks in the cloud at an earlier stage: a solution based on domain information mining | |
Gupta et al. | Relevance feedback based online learning model for resource bottleneck prediction in cloud servers | |
US12051009B2 (en) | Automatic and self-optimized determination of execution parameters of a software application on an information processing platform | |
Yan et al. | A clustering algorithm for multi-modal heterogeneous big data with abnormal data | |
US20200311597A1 (en) | Automatic weibull reliability prediction and classification | |
Dash et al. | Distributional negative sampling for knowledge base completion | |
US11921756B2 (en) | Automated database operation classification using artificial intelligence techniques | |
Wang et al. | An anomaly detection framework based on ICA and Bayesian classification for IaaS platforms | |
US20230108177A1 (en) | Hardware-Aware Progressive Training Of Machine Learning Models | |
Sagaama et al. | Automatic parameter tuning for big data pipelines with deep reinforcement learning | |
Napoli et al. | Diversity-Based Sampling for Imbalanced Domain Adaptation | |
Chen et al. | Using deep learning to predict and optimize hadoop data analytic service in a cloud platform | |
Ng'ang'a et al. | A Machine Learning Framework for Predicting Failures in Cloud Data Centers-A Case of Google Cluster-Azure Clouds and Alibaba Clouds | |
Fisch et al. | Towards automation of knowledge understanding: An approach for probabilistic generative classifiers |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |