CN114398395A - 一种基于注意力机制的基数成本估算方法 - Google Patents

一种基于注意力机制的基数成本估算方法 Download PDF

Info

Publication number
CN114398395A
CN114398395A CN202210058083.4A CN202210058083A CN114398395A CN 114398395 A CN114398395 A CN 114398395A CN 202210058083 A CN202210058083 A CN 202210058083A CN 114398395 A CN114398395 A CN 114398395A
Authority
CN
China
Prior art keywords
query
cardinality
cost
attention mechanism
estimation
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
Application number
CN202210058083.4A
Other languages
English (en)
Inventor
康辉
刘剑桥
孙庚�
王听正
肖静武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jilin University
Original Assignee
Jilin University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jilin University filed Critical Jilin University
Priority to CN202210058083.4A priority Critical patent/CN114398395A/zh
Publication of CN114398395A publication Critical patent/CN114398395A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

本发明属于数据库查询优化领域,涉及一种基于注意力机制的基数成本估算方法,包括查询计划的获取、查询序列向量化、查询语句高维特征学习、基数与查询成本估算。该方法通过使用以注意力机制为核心的高维特征提取网络,有效地实现了查询优化过程中的基数成本估算功能,并且通过聚类算法对查询计划进行相应的学习及预处理,对查询计划的高维特征进行更精确的分类。本发明具有良好的适配性,可在多种环境下应用。本发明以独立插件形式存在,使用户的使用方式更灵活,且不破坏原有数据库的任何功能。实验结果表明,本发明对于基数和成本的估算准确性显著高于传统方法,且提出了一种克服基数估计精度提升两大瓶颈,即轻量化问题和自适应问题的方法。

Description

一种基于注意力机制的基数成本估算方法
技术领域
本发明涉及数据库查询优化领域,尤其涉及一种基于注意力机制的基数成本估算方法。
背景技术
大数据时代已经来临。膨胀的数据信息,越发复杂的应用场景和复杂多变的用户需求无一不在对数据库的性能发出严峻的挑战。尤其是金融、电信等关键行业,对数据库查询功能中基数估计精度的要求就更为严格。然而,当前市场上普遍沿用的仍是基于采样/统计信息和多列独立性假设的传统基数估计算法,数据量越高,传统基数估计算法的错误率也就越高,有时错误甚至能达到几个数量级。
目前,基数估计精度提升问题主要有两种解决思路。其一,基于查询驱动;即通过学习历史查询结果总结规律,改善估计精度,如基于卷积神经网络的MSCN。然而这一类的方法对训练数据的要求较高,泛化困难,是难以融入成熟的数据库查询功能;其二,基于数据驱动;即通过学习总结数据中的概率分布规律解决问题,其本质原理是传统方法中的直方图模型,其中比较典型的就是基于贝叶斯网络的概率图。然而这一类的解决方法支持的谓词较少,直接导致了在处理复杂查询时,模型将消耗过多的资源。总地来说,在基数估计精度提升领域上仍然存在着两个关键的瓶颈,即轻量化与自适应:轻量化问题是指现有的基数估计模型对数据要求过高;自适应问题是指现有模型的普适性较差,难以适应如云原生数据库这样的新型应用环境。
发明内容
本发明的目的在于针对上述现有基数估计技术存在的泛化困难、消耗资源过多的不足,提供一种基于注意力机制的基数成本估算方法,通过自然语言算法解决复杂谓词的编码障碍,提升基数估计的准确性,可在多种环境下应用,具有良好的适配性。
本发明的目的是通过以下技术方案实现的:
一种基于注意力机制的基数成本估算方法,包括以下步骤:
A、数据获取及处理
从数据库的公开数据集和工作负载中获得查询序列,并使用聚类算法对其进行预处理;
B、查询序列向量化
使用自然语言处理算法,将分化后的查询序列依次转换为向量组的形式;
C、查询语句特征学习
使用注意力机制提取查询序列向量组中复杂谓词以及连接关系的高维特征,获得携带这些高维特征的隐藏层向量组;
D、生成估计出的基数与成本
通过线性神经网络处理隐藏层向量组,获得估计出的数据库基数与成本。
步骤A,所述数据获取及处理具体步骤包括:
首先在公开数据集的主键上构建索引;然后在工作负载中调用两类谓词:纯数字属性谓词和带有字符串属性的谓词;根据这两者生成查询序列,并使用查询优化器获得其物理查询计划、实际基数与实际成本;使用k均值聚类算法对获得的查询进行预训练。
步骤B,所述查询序列向量化具体步骤包括:
使用自然语言处理算法BERT的编码层技术,将步骤A所得的数据进行编码,得到向量组形式的查询计划。
步骤C,将注意力机制作为基本单元,构建为树形结构,以吻合查询计划的二叉树结构,其中每一个叶子结点都是一个注意力机制模型,树形结构上所有模型的参数相同。
步骤D,所述生成估计出的基数与成本具体步骤包括:
父节点的注意力机制中额外引入一个修正线性单元,根据子节点逐层训练出的隐藏层向量生成预测出的基数与成本。
本发明的有益效果为:考虑了查询计划中的查询特征以及物理操作,且通过自然语言算法解决了复杂谓词的编码障碍,提升了基数估计的准确性,实验证明估计精度远优于传统基数估计方法。
附图说明
图1为本发明一种基于注意力机制的基数成本估算方法的流程示意图;
图2为本发明一种基于注意力机制的基数成本估算方法的系统整体架构图;
图3为本发明中谓词编码流程图;
图4为本发明中注意力机制特征提取结构图;
图5为本发明中的估计层结构图。
具体实施方式
以下根据对本发明做进一步说明:
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。下面列举的实施例仅为对本发明技术方案的进一步理解和实施,并不构成对本发明权利要求的进一步限定,因此。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
基数估计精度提升是查询优化中非常重要的组成部分,其精度值将直接影响查询优化器对查询计划的选择。良好的基数估计算法能使得查询计划更加贴合特定查询,从而提升查询的效率与准确度。然而,当前大量沿用的传统基数估计方法如采样、直方图和数据画像,都存在很大误差;当数据量较大时,这种误差甚至可以达到几个数量级。实验证明,利用机器学习算法对基数进行估计,可以显著提升基数估计精度。最新的机器学习基数估计方法使用多集合卷积神经网络,实验证明其效果远优于传统基数估计算法。然而与此同时,该方法对于复杂谓词的学习依然困难,且不包含具体的物理操作,这使得基数估计算法遇到了眼中的性能提升瓶颈。
本发明提供一种基于图注意力机制的基数成本估算方法,并以独立插件形式融入数据库原有查询功能,具有可视化效果,且不影响任何原有数据库功能。在查询优化器中,通过谓词与元数据生成查询计划,并使用K均值聚类算法对这些计划进行分类;然后,使用最新的自然语言处理算法BERT的编码层技术,对生成的查询计划进行向量化。再通过具有查询计划树结构的,以注意力机制为基本单元的网络对查询计划进行高维特征提取,并最终生成基数和成本。本发明针对数据库的基数成本估算方法包括查询计划的生成、使用聚类算法对计划进行预处理、对查询计划进行向量化,使用以注意力机制为核心的网络提取高维特征、生成基数与代价,其流程示意图参阅图1。
一种基于注意力机制的基数成本估算方法,包括以下步骤:
A、数据获取及处理
从数据库的公开数据集和工作负载中获得查询序列,并使用聚类算法对其进行预处理;
B、查询序列向量化
使用自然语言处理算法,将分化后的查询序列依次转换为向量组的形式;
C、查询语句特征学习
使用注意力机制提取查询序列向量组中复杂谓词以及连接关系的高维特征,获得携带这些高维特征的隐藏层向量组;
D、生成估计出的基数与成本
通过线性神经网络处理隐藏层向量组,获得估计出的数据库基数与成本。
步骤A,所述数据获取及处理具体包括以下步骤:
首先在公开数据集的主键上构建索引;然后在工作负载中调用两类谓词:纯数字属性谓词和带有字符串属性的谓词;根据这两者生成查询序列,并使用查询优化器获得其物理查询计划、实际基数与实际成本;使用k均值聚类算法对获得的查询进行预训练。
步骤B,所述查询序列向量化具体包括以下步骤:
使用自然语言处理算法BERT的编码层技术,将步骤A所得的数据进行编码,得到向量组形式的查询计划。
步骤C,将注意力机制作为基本单元,构建为树形结构,以吻合查询计划的二叉树结构,其中每一个叶子结点都是一个注意力机制模型,树形结构上所有模型的参数相同。
步骤D,所述生成估计出的基数与成本具体包括以下步骤:
父节点的注意力机制中额外引入一个修正线性单元,根据子节点逐层训练出的隐藏层向量生成预测出的基数与成本。
实施例1:应用于关系型数据库
针对查询优化中的基数估计问题,本发明给出了一种在关系型数据库上的基本实现,且该实现方式可以独立插件的形式接入关系型数据库。关系型数据库是当前应用最广,用户量最大的数据库,其中,查询优化是影响关系数据库管理系统性能的关键因素。然而随着数据量的井喷式增长,其沿用的传统基数估计方法可能会产生高至几个数量级的错误,进而影响查询计划的选择,造成查询的效率与准确性降低。
本实验中,对关系型数据库的基数估计,采用以注意力机制为核心的网络来进行计算。该插件可以通过JDBC连接器连接到远程的RDBMS数据库,并根据用户配置的信息生成查询语句及查询计划;将查询计划输入BERT层转化为向量组的形式,然后参阅图4,通过注意力机制网络提取查询计划的高维特征,并将最后一次生成的隐藏层向量组进行线性处理,从而得到估算出的基数和成本。在该实验中,基数成本估计以独立插件的形式存在,结果可视化,以便用户根据结果进行下游的查询计划选择。
实验结果表明插件程序正常运行,运行结果优于传统查询计划的基数估计器,与预期吻合。由此表明,本发明针对查询优化的基数成本估算适用于关系型数据库,且以独立插件形式存在,没有对已有功能的使用造成任何影响。
实施例2:应用于非关系型数据库
随着数据的复杂度和体量增高,非关系型数据库的使用也越发广泛,它对查询效率的要求更高。在该应用场景下,本发明同样可以以独立插件的形式接入非关系型数据库,实现对基数和成本的估算。
由于非关系型数据库脱离了SQL语句,当对其进行查询优化时,就难以通过执行友好的SQL语句来完成优化,所以查询计划选择的优化于非关系型数据库而言就更为重要。基数估计作为查询计划选择的重要指标,其重要性不可忽视。本实验中,针对key-value型的基数成本估算采用独立插件的形式完成,在原有查询优化器的基础上加入两个类,分别进行基数和成本的估算。首先获得查询计划,通过嵌入层转化为向量组后,再通过注意力机制网络估算基数和成本,并通过可视化形式显示结果。
实验结果表明在非关系型数据库上,以注意力机制为核心的基数估计方法具有更高的准确性,能有效提高基数和成本估算的效率,从而提升非关系型数据库的查询速度,使非关系型数据库进行高效的查询优化。
实施例3:应用于云原生数据库
云原生数据库可以兼容关系型数据库和非关系型数据库,这使得越来越多的传统行业用户加入到云的行列中来。这也同样意味着云原生数据库面临的数据量之巨,将是前所未有的挑战。MySQL最大的问题之一就是查询性能和数据量成反比,当数据量不断增大时,查询时间将从毫秒提升至以小时计。目前,云数据库如PolarDB主要从两个方面进行查询优化。其一,一旦数据量达到一定阈值,就自动启动并行执行框架,在存储层将数据分为多个扫描片,多片道不同的线程上进行并行计算,再将结果汇总到总线程。其二,在线演进算法。在执行查询计划之前,先演进一小部分工作负载路由到未接受的计划汇总进行验证,该方案可以有效避免尝试未接受计划的代价。
在云原生数据库中,优化器生成物理查询计划,并传递给执行引擎,执行后,数据库管理系统将结果返回给客户端,并触发上文中提到的SQL执行计划管理的演进逻辑。执行计划的属性则作为反馈机制,被添加到代理的经验中,作为Q-value迭代的起点。这一执行计划管理演进基数集成了一个轻量级的增强型学习框架,它通过获取的执行反馈改善路由器决策和优先演化。其中,基数作为执行计划的重要属性,是该学习模型中反馈机制中的重要环节。本发明提供了一种以独立插件形式的,基于注意力机制的基数成本估算方法,为云原生数据提供基数与成本估算服务,使其增强学习模型获得更精准的反馈机制,从而达到更加的查询优化效果。
实验结果表明,以注意力机制为核心的基数成本估算方法能有效估算云原生数据库查询计划的基数和成本,满足云原生数据库海量数据的查询需求,使得云原生查询优化器能够更加灵活地处理查询语句,提升基数估计精度,进而使云原生数据库的在线演进算法更加完善。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用。它完全可以被适用于各种适合本发明的领域。对于熟悉本领域的人员而言,可容易地实现另外的修改。因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。

Claims (6)

1.一种基于注意力机制的基数成本估算方法,其特征在于,包括以下步骤:
A、数据获取及处理
从数据库的公开数据集和工作负载中获得查询序列,并使用聚类算法对其进行预处理;
B、查询序列向量化
使用自然语言处理算法,将分化后的查询序列依次转换为向量组的形式;
C、查询语句特征学习
使用注意力机制提取查询序列向量组中复杂谓词以及连接关系的高维特征,获得携带这些高维特征的隐藏层向量组;
D、生成估计出的基数与成本
通过线性神经网络处理隐藏层向量组,获得估计出的数据库基数与成本。
2.根据权利要求1所述的一种基于注意力机制的基数成本估算方法,其特征在于,步骤A,所述数据获取及处理具体步骤包括:
首先在公开数据集的主键上构建索引;然后在工作负载中调用两类谓词:纯数字属性谓词和带有字符串属性的谓词;根据这两者生成查询序列,并使用查询优化器获得其物理查询计划、实际基数与实际成本;使用k均值聚类算法对获得的查询计划进行预训练。
3.根据权利要求1或2所述的一种基于注意力机制的基数成本估算方法,其特征在于,步骤B,所述查询序列向量化具体步骤包括:
使用自然语言处理算法BERT的编码层技术,将步骤A所得的数据进行编码,得到向量组形式的查询计划。
4.根据权利要求1或2所述的一种基于注意力机制的基数成本估算方法,其特征在于:步骤C,将注意力机制作为基本单元,构建为树形结构,以吻合查询计划的二叉树结构,其中每一个叶子结点都是一个注意力机制模型,树形结构上所有模型的参数相同。
5.根据权利要求1或2所述的一种基于注意力机制的基数成本估算方法,其特征在于,步骤D,所述生成估计出的基数与成本具体步骤包括:
父节点的注意力机制中额外引入一个修正线性单元,根据子节点逐层训练出的隐藏层向量生成预测出的基数与成本。
6.根据权利要求2所述的一种基于注意力机制的基数成本估算方法,其特征在于,所述预训练过程中,以真实值为标准,通过估计值的错误率的高低对模型进行训练和调优。
CN202210058083.4A 2022-01-19 2022-01-19 一种基于注意力机制的基数成本估算方法 Pending CN114398395A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210058083.4A CN114398395A (zh) 2022-01-19 2022-01-19 一种基于注意力机制的基数成本估算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210058083.4A CN114398395A (zh) 2022-01-19 2022-01-19 一种基于注意力机制的基数成本估算方法

Publications (1)

Publication Number Publication Date
CN114398395A true CN114398395A (zh) 2022-04-26

Family

ID=81230592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210058083.4A Pending CN114398395A (zh) 2022-01-19 2022-01-19 一种基于注意力机制的基数成本估算方法

Country Status (1)

Country Link
CN (1) CN114398395A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024021624A1 (zh) * 2022-07-26 2024-02-01 浙江大学 基于深度学习的Skyline查询基数估计方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020103793A1 (en) * 2000-08-02 2002-08-01 Daphne Koller Method and apparatus for learning probabilistic relational models having attribute and link uncertainty and for performing selectivity estimation using probabilistic relational models
CN102395965A (zh) * 2009-04-17 2012-03-28 弗兰霍菲尔运输应用研究公司 用于在数据库中搜索对象的方法
CN110888859A (zh) * 2019-11-01 2020-03-17 浙江大学 一种基于组合深度神经网络的连接基数估计方法
CN112749191A (zh) * 2021-01-19 2021-05-04 成都信息工程大学 一种应用于数据库的智能代价估计方法、系统及电子设备
CN112883066A (zh) * 2021-03-29 2021-06-01 电子科技大学 一种数据库上的多维范围查询基数估计方法
CN113010547A (zh) * 2021-05-06 2021-06-22 电子科技大学 一种基于图神经网络的数据库查询优化方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020103793A1 (en) * 2000-08-02 2002-08-01 Daphne Koller Method and apparatus for learning probabilistic relational models having attribute and link uncertainty and for performing selectivity estimation using probabilistic relational models
CN102395965A (zh) * 2009-04-17 2012-03-28 弗兰霍菲尔运输应用研究公司 用于在数据库中搜索对象的方法
CN110888859A (zh) * 2019-11-01 2020-03-17 浙江大学 一种基于组合深度神经网络的连接基数估计方法
CN112749191A (zh) * 2021-01-19 2021-05-04 成都信息工程大学 一种应用于数据库的智能代价估计方法、系统及电子设备
CN112883066A (zh) * 2021-03-29 2021-06-01 电子科技大学 一种数据库上的多维范围查询基数估计方法
CN113010547A (zh) * 2021-05-06 2021-06-22 电子科技大学 一种基于图神经网络的数据库查询优化方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024021624A1 (zh) * 2022-07-26 2024-02-01 浙江大学 基于深度学习的Skyline查询基数估计方法及装置

Similar Documents

Publication Publication Date Title
Yuan et al. Automatic view generation with deep learning and reinforcement learning
Willemin et al. Image sequence coding by split and merge
Sun et al. Learned cardinality estimation: A design space exploration and a comparative evaluation
CN111400297B (zh) 基于Hadoop的海量数据数据质量校验方法
US20210018332A1 (en) Poi name matching method, apparatus, device and storage medium
Du et al. Parallel processing of improved KNN text classification algorithm based on Hadoop
CN111444220B (zh) 规则驱动和数据驱动相结合的跨平台sql查询优化方法
De Uña et al. Machine learning and constraint programming for relational-to-ontology schema mapping
CN114218400A (zh) 基于语义的数据湖查询系统及方法
CN110909111A (zh) 基于知识图谱rdf数据特征的分布式存储与索引方法
CN112597285B (zh) 一种基于知识图谱的人机交互方法及系统
Picado et al. Schema independent relational learning
Ma et al. Heterogeneous fuzzy XML data integration based on structural and semantic similarities
CN110597876B (zh) 一种基于离线学习历史查询预测未来查询的近似查询方法
CN114398395A (zh) 一种基于注意力机制的基数成本估算方法
Zou et al. Survey on learnable databases: A machine learning perspective
Chen et al. Join cardinality estimation by combining operator-level deep neural networks
CN112883066A (zh) 一种数据库上的多维范围查询基数估计方法
CN117407532A (zh) 一种利用大模型与协同训练进行数据增强的方法
CN112035689A (zh) 一种基于视觉转语义网络的零样本图像哈希检索方法
Hao et al. The research and analysis in decision tree algorithm based on C4. 5 algorithm
CN110765781A (zh) 一种领域术语语义知识库人机协同构建方法
CN115757735A (zh) 一种面向电网数字化建设成果资源的智能检索方法及系统
Gao et al. Automatic index selection with learned cost estimator
Li et al. Kddlog: Performance and scalability in knowledge discovery by declarative queries with aggregates

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