首页 > 其他分享 >[ICDE 2022]How Learning Can Help Complex Cyclic Join Decomposition

[ICDE 2022]How Learning Can Help Complex Cyclic Join Decomposition

时间:2023-07-10 19:23:48浏览次数:55  
标签:Join Help Cyclic AI GHD cost 循环 ICDE

[ICDE 2022]How Learning Can Help Complex Cyclic Join Decomposition

总结

主要贡献是把子图匹配策略的cost的判断改为了GNN实现的预测(写得挺模棱两可的)

动机

解决子图匹配的一个重要问题是解决复杂循环连接查询。文章除了在工程方面提供了GUI,主要的贡献是设计了合理的框架,使用AI更好地解决了复杂循环连接查询。

问题定义

实现有点、边标签的图的子图匹配

框架

img

用户的查询扔进来之后会先进行解析,把所有点都视为一个自循环查询(?),然后使用GHD(广义超树分解)将解析结果分解成无循环连接的树。GHD部分将使用AI强化(LSS)。最后,评估计算最佳的计划,也就是用那棵树。

比如图2(a),其中的每条边都是超边。GHD的目标就是将这个循环超图转为树(b)(前面不是说无循环吗?)
模型的训练目标就是用GNN和MSE去拟合每一组树的cost。(ground truth怎么来的?如何一一对应?)

数据集

img

实验

评估指标是Q-Error,基本意思是判断估计的cost和实际cost之间的差距。
SOTA是一篇17年的文章,不涉及AI。相当于是在已有的AGM上增加了一层AI的cost预测来辅助选择匹配策略。(AGM原文没有任何实验)

img

标签:Join,Help,Cyclic,AI,GHD,cost,循环,ICDE
From: https://www.cnblogs.com/yujianke100/p/17542065.html

相关文章

  • Largest-Smallest-Cyclic-Shift题解
    题目链接本题码量不大,但是事实上是一道极其难想的思维题。题目描述你有\(a\)个a,\(b\)个b,\(c\)个c。要求用这\(a+b+c\)个字母拼接成一个字符串,使得这个字符串的最小表示法在所有能拼成的字符串中最大。补充:最小表示法,将一个字符串的最后一个字符放到首位,重复这个操作,......
  • python: FileHelper
     #encoding:utf-8#版权所有2023涂聚文有限公司#许可信息查看:#描述:#Author:geovindu,GeovinDu涂聚文.#IDE:PyCharm2023.1python311#Datetime:2023/7/919:12#User:geovindu#Product:PyCharm#Project:pythonTkinterDe......
  • js 如何使用 join() 方法将数组的所有元素组成一个字符串。
    <html><body><scripttype="text/javascript">vararr=newArray(3);arr[0]="George"arr[1]="John"arr[2]="Thomas"document.write(arr.join());document.write("<br/>&q......
  • 京东面试官问:LEFT JOIN关联表中用ON还是WHERE跟条件有什么区别
    之前有码友去京东面试,被问到LEFTJOIN关联表中用ON还是WHERE跟条件有什么区别,很快就答出来了,可是追问什么原因造成这一情况的,一时没回答上来。下面说说,想通过AleftBjoinonand后面的条件来使查出的两条记录变成一条,奈何发现还是有两条。后来发现joinonand不会过......
  • JUC-ForkJoin
    1,ForkJoin简介ForkJoin是由JDK1.7之后提供的多线程并发处理框架。ForkJoin框架的基本思想是分而治之。什么是分而治之?分而治之就是将一个复杂的计算,按照设定的阈值分解成多个计算,然后将各个计算结果进行汇总。相应的,ForkJoin将复杂的计算当做一个任务,而分解的多个计算则是当做......
  • Subquery? No, it's join!
    作者:王旭东Databend研发工程师https://github.com/xudong963在SQL查询中,子查询是一种常用的技术,它允许我们在一个查询内部嵌套另一个查询,以实现更复杂的数据检索和分析。如何在数据库内核中高效的处理子查询是非常有挑战的,本文将介绍如何在Databend中构建state-of-art......
  • linq left join group by count组合统计,防止count()为null结果为1的错误。
    原生sqlselectcar.id,carnum,count(carplan.carid)astimeLenfromtab_carascarjointab_inComeTypeasincomeoncar.inComeTypeId=income.IdandinComeTypeId=1andstateCode=1andcarTypeId=1leftjointab_carPlanascarplanoncar.id=carplan.carIdandca......
  • UPDATE INNER JOIN和UPDATE LEFT JOIN跨表更新
    UPDATEJOIN是用于执行跨表更新的MySQL语句,这意味着我们可以使用带有JOIN子句条件的另一个表来更新一个表。此查询根据PRIMARY Key和FOREIGN Key以及指定的连接条件更新和更改多个表连接的数据。我们可以使用UPDATE 查询一次更新单个或多个列。一、MySQLUpdateJoin语......
  • Apipost IDEA插件新升级,Apipost Helper上架IDEA插件市场
    大家好!今天向大家介绍一个非常方便的IDEA插件——ApipostHelper!相信很多使用过Apipost的朋友在开发过程中都希望能够直接将编写好的API同步至Apipost,而无需手动填写。前段时间,Apipost推出了ApipostIDEA插件的内测版,我也亲自试用了一番,发现它非常实用。最近,也得知ApipostHelper......
  • 分布式数据库 Join 查询设计与实现浅析
    相对于单例数据库的查询操作,分布式数据查询会有很多技术难题。本文记录Mysql分库分表 和ElasticsearchJoin查询的实现思路,了解分布式场景数据处理的设计方案。文章从常用的关系型数据库MySQL的分库分表Join分析,再到非关系型ElasticSearch来分析Join实现策略。逐步......