[发明专利]一种Gaia系统中的多表连接优化方法有效
| 申请号: | 202011267934.3 | 申请日: | 2020-11-13 |
| 公开(公告)号: | CN112256705B | 公开(公告)日: | 2022-11-01 |
| 发明(设计)人: | 宗枫博;王国仁;赵宇海;郑军 | 申请(专利权)人: | 北京理工大学;东北大学 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22 |
| 代理公司: | 北京理工大学专利中心 11120 | 代理人: | 刘西云;李微微 |
| 地址: | 100081 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 gaia 系统 中的 连接 优化 方法 | ||
本发明提供一种Gaia系统中的多表连接优化方法,为了尽可能减少全局中间连接表体积进而降低I/O代价,本发明设计了一个连接索引结构,结合动态规划算法在优化连接顺序的同时对每个连接表的等值连接关系进行优化,同时针对连接计算代价和I/O代价进行了优化,有效地减少了多连接任务的运算时间和中间数据的传输量;也就是说,本发明设计了一种描述连接表中列关系的索引结构,此索引结构可以快速找到两个表的连接关系及每一列是否冗余列。
技术领域
本发明属于分布式大数据处理技术领域,尤其涉及一种Gaia系统中的多表连接优化方法。
背景技术
多连接优化的研究起源于传统数据库中多表查询操作的优化,传统的数据库查询操作分为三个步骤:将用户的查询语句解析和翻译为连接树,优化,执行查询。优化步骤中包括通过重构连接表达式在连接结果等价的条件下减小连接代价,当连接树存在n个连接关系时,则存在n!个等价的左深树和(2n-2)!/(n-1)!个等价的稠密树,多连接优化问题已经被多类算法研究过。它是经典组合旅行商问题的推广——在完全图中寻找最短哈密顿图。旅行商问题研究最多的组合优化问题之一,已有几十种算法被提出,这些算法大多直接适用于多连接优化。主要包括确定性算法,随机化算法,基因算法和混合算法。
确定性算法通过完全遍历或在解空间中应用一些启发式剪枝方法,来执行解空间的确定性搜索,如IBM的System R中使用的动态规划算法,这个算法被几乎现有的所有商用RDBMS系统使用,该算法通过动态剪枝解空间来进行完全遍历,通过迭代已有的连接关系并尽可能剪枝一些次优解来构造所有备选连接树,从而保证了动态规划算法在解空间中找到最优解。随机化算法通过预定义的变换规则在解空间内随即移动,不断寻找代价更低的点,当点不再移动的次数达到预定义的迭代次数阈值时,则认为当前的解为较优的解。如模拟退火算法(Simulated Annealing Algorithm),它允许当前点向代价更高的点移动,从而降低了算法陷入局部最优解的概率,此算法同时可以加入一个算法参数来定义在给定时间点继续搜索的可能性,并和当前点与目标点的代价比例共同决定点移动的概率。
基因算法通过模拟生物的进化过程来寻找最优解,通过将一个初始群体(解集合)中的个体(解)随机交叉(crossover)和变异(mutation)产生下一代群体,将适应度最高(通过代价函数定义)的部分个体保留,并重复交叉和变异的过程产生下一代群体,当迭代次数达到预定义的阈值或者群体适应度已接近饱和,继续进化无法再显著提高适应度(通过阈值定义)时停止迭代过程。如PostgreSQL中的Genetic Query Optimizer,它只考虑了左深树的情况,实现了精英选择算子(Elitist selection operato),对于群体中的最优解,只进行交叉而不进行变异,防止群体中的最优个体在迭代到下一代时发生丢失,从而导致算法难以收敛到全局最优解。
混合算法混合了以上两种及以上的优化策略,比如巡回模拟退火算法(TouredSimulated Annealing),该算法首先通过确定性算法确定几个初始点,然后对每个初始点进行模拟退火算法。
以上算法为主要基于传统关系数据库理论的多连接优化,优化的最小粒度为表,而在本文所提出的多表连接优化方法中优化的最小粒度为列,在传统数据库甚至一些节点数不高的分布式数据库中,连接表的列数,或者说连接表的体积对I/O并不会造成显著影响,而连接表的行数,即连接表的元组数会对计算量产生很大影响,因此这些传统的多连接优化算法主要注重于对连接元组数进行优化以提高计算效率。随着MapReduce框架在大数据处理中的广泛应用,一个任务的计算节点可能达到成百上千个,那么节点间I/O带来的影响不再可以忽视。
发明内容
为解决上述问题,本发明提供一种Gaia系统中的多表连接优化方法,可以在优化算法中同时考虑计算和I/O的代价,并以动态规划算法为例,在动态规划算法的基础上同时实现对计算和I/O的优化。
一种Gaia系统中的多表连接优化方法,包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学;东北大学,未经北京理工大学;东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011267934.3/2.html,转载请声明来源钻瓜专利网。





