专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

分享FactorJoin,一种新的连接查询基数估计框架

  基数估计是查询优化中最为重要和最具挑战性的问题。传统方法和学习型方法在估计多表连接查询的基数时都没有令人满意的表现。它们或依赖于简单的假设导致无效的估计;或构建过大的模型来理解多表的联合分布,从而使得模型规划时间较长并缺乏泛化能力。
  本文提出了一个新的多表连接基数估计方法FactorJoin。FactorJoin将传统的连接直方图〔1〕与学习型方法相结合以捕获表间的关联性进而进行基数估计。具体地说,离线训练时,FactorJoin先建立单表估计模型以学习单表的分布。当处理连接查询时,FactorJoin首先依据已学习到的分布将查询建模为因子图〔2〕(FactorGraph),而后使用变量消除〔3〕(VariableElimination,VE)算法进行推理。因只需单表的统计信息即可估计出多表连接的基数,FactorJoin在查询的端到端处理时间优于其它学习型方法〔4,5,6〕的情况下,模型大小、训练及更新时间比它们低了一至两个量级。多表基数估计方法
  给定A,B两表上的查询Q:SELECTFROMA,BWHEREId1Id2ANDA10ANDB10复制代码
  图1两表连接示例
  分别介绍下面四种估计方法。Selinger模型
  Selinger模型〔7〕在估计时作了两点假设:属性独立假设以及连接键均匀分布假设。首先依据属性独立假设计算两属性的联合概率密度PA(A10)PB(B10);而后使用连接键均匀分布假设估计两表连接的大小:ABABmax{numuniquesinA。Id1,numuniquesinB。Id2}。
  图2Selinger模型估计示例
  图2给出了Selinger模型以图1所示数据进行估计的过程:
  PA(A10)PB(B10)1212,AB88321
  QPA(A10)PB(B10)AB
  1212883
  5
  该查询的真实基数为4416,可以看到Selinger模型因其所作的两点假设导致估计结果存在较大的误差。连接直方图
  连接直方图在估计时依旧采用了属性独立假设与连接键均匀分布假设。与Selinger模型不同的是,在估计两表连接大小的时候对连接键进行了划分。如图3所示,对应连接键中的相同值被划分到具有相同下标的桶中(如值a被划分到桶1,值b和c被划分到桶2)。在计算两表连接大小时,直接将该连接键上所有桶中的对应元素的连接数目加和即可。
  图3连接直方图估计示例
  如图2所示,AB44144224,
  Q1212246
  可以看到,连接直方图的估计误差同样很大,但因其在估计两表连接大小时在连接键上划分了一些桶,因而不需要遍历所有元素,进而使得估计时间大大减少。学习型数据驱动的方法
  学习型基数估计方法依据使用的数据类型可分为两类:查询驱动的方法与数据驱动的方法。其中,查询驱动的方法在处理多表基数估计时仅将连接类型作为特征之一,并同其它特征一同送入网络中进行训练以构造出从查询到基数的映射函数。这种方法并未对多表基数估计进行特殊处理,因此不多赘述。
  数据驱动的方法在处理多表基数估计时大多会学习多表的联合分布。如DeepDB、FLAT等会将关联性较强的两表通过全外连接的方式进行结合并学习全外连接表的分布情况。而后依据学习到的联合分布进行选择度的估计。
  图4数据驱动的方法示意图
  图4给出了数据驱动的方法的示例,表A和表B通过连接键Id1与Id2连接后被送入模型以学习其分布。最后得到的结果与真值极为接近。本文提出的方法
  因数据驱动的方法须学习多表的联合分布,所以模型较大、训练及更新时间较长,所以作者想在仅知道单表统计信息的情况下估计出多表查询的基数。因此,作者采用了连接直方图的思想,即分别统计出参与连接的两表满足对应谓词的元组分布情况,并在连接键上进行分桶,而后将所有桶中对应值的连接数目加和即可。该方法的估计过程如图5所示。为了提高效率,作者将其与概率图模型相结合,具体情况如后文所述。
  图5本文方法的示意图多表连接基数估计的新框架两表连接基数估计示例
  如图6所示,查询Q需要对表A和表B在连接键A。id与B。Aid上进行连接。连接直方图这类方法在估计两表的基数时会分别筛选出符合两表谓词的元组AQ(A)与BQ(B),而后在筛选出的元组上进行相应的连接操作。可算出最终的连接结果为:86453583。
  图6两表估计示意图
  这一步骤表示成公式则如公式(1)所示。其中,PA(A。idvQ(A))表示值v在表A中满足谓词Q(A)的元组中的分布情况。
  多表估计示例
  给定查询Q2:SELECTFROMA,B,C,DWHEREA。idB。AidANDA。id2C。Aid2ANDC。idB。CidANDC。idD。CidANDQ2(A)ANDQ2(B)ANDQ2(C)ANDQ2(D)复制代码
  如图7所示,在处理查询Q2时,首先将查询涉及到的表表示成图6(ii)的形式。其中,矩形阴影部分表示查询涉及到的表,椭圆代表涉及到的连接键,实线表示对应的连接关系。同种颜色实现连接起来的各连接键被称为等价键簇,后文在优化算法时会用到这个概念。
  图7四表基数估计示意图
  同两表估计的思想一般,逐个对每个等价键簇中的值在各表中作等值连接。该计算过程表示成公式则如公式2所示。其时间复杂度为O(n3)。为了降低复杂度,作者将查询表示成图6(iii)所示的因子图。其中,变量节点V1表示等价键簇1;因子节点表示表,该节点中存有表中元素的分布信息PA(V1,V2Q2(A))Q2(A);实线表示表中该查询涉及到该表在对应连接键上的连接操作。
  因子图的推理是概率图模型中经过充分研究的问题,常用的推理方法有变量消除和信念传播〔8〕(beliefpropagation)这两种方法。本文采用了变量消除这种方法,此时的时间复杂度为O(NDmax(JK))),其中,N表示等价键簇的数量,D表示所有连接键中最大的域的长度,max(JK)表示单表拥有的最大连接键的数量。在图7中,max(JK)的值为2。在现实世界的数据库中,这种复杂度还是不可接受的,因为D可能达到百万级别,而max(JK)可能比4还要大,因此是不可接受的。为了降低复杂度,作者对这两个点分别进行了优化,具体过程如下文所述。整体的工作流程
  图8FactorJoin的工作流
  整体的工作流程如图8所示。在离线训练时,FactorJoin先分别在各表上建立单表估计模型并依据数据模型对所有连接键进行分桶并统计相应信息。在线推理时,FactorJoin先将查询表示成因子图,而后分别在单表上进行估计,最后使用变量消除算法对各表的连接结果进行估计。值得一提的是,FactorJoin估计的是查询的基数上限,而非具体的基数值。这是作者降本提效的一种手段,详情如下文所述。提升效率的两种方法
  上文提到,使用变量消除算法对因子图进行推理的复杂度为O(NDmax(JK))。其中影响较大的有最大的属性域的长度D以及单表拥有的最多的连接键的数量max(JK)。作者从这两个方面入手,分别进行了优化,使复杂度进一步降低。概率上限算法
  在以连接直方图估计多表连接的大小时,需要对连接键进行遍历以将两表连接键上对应的值进行连接。在现实的数据库中,连接键的域很大,能达到百万级别。为了提升效率,作者借鉴了基于概率上限方法的思想,即估计出基数的上限而非具体的值。
  图9使用分桶策略的量表估计示例
  图9给出了两表估计的例子。如图,分别在表A、表B中筛选出符合相应谓词的元组后,统计连接键上的值分布情况并在连接键上划分桶,使得两表连接键上相同的值落在同一个下标的桶中。而后分别估计每个桶的连接上限,即先找出桶中的最频繁值(mostfrequentvalue,MFV)及桶包含的元组数目。如在表A的桶1中,值a出现的次数最多,为8次;桶2中MFV出现的次数为6次,则两桶中同一个值作等值连接最多产生48个连接结果。表A的桶1中总元组数目为16,则其桶1中最多包含两个MFV;对应地,表B的桶1中最多包含4个MFV。因此可以估计出两桶对应值作等值连接的数目上限为:min(2,4)8696。对比真值为86453583。表示成公式则如公式3所示。
  在连接键上进行分桶时,需要考虑两个问题:划分多少个桶以及把哪些值放入同一个桶内。作者分别对这两个问题进行了处理。基于工作流决定桶的数量k
  桶的数量k对FactorJoin的性能有显著影响:较少的桶将连接键域中更多不同的值聚合到每一个桶,因此模型的准确性较低但效率更高。作者提出了一种基于工作流分桶的方法,在给定桶的数量上限Kki的情况下,依据等价键簇在工作流中出现的次数多少,对每个不同的等价键簇分配不同的桶数量;出现的次数越多,则分配的桶的数目越多。分桶策略
  传统的分桶策略有等宽划分和等高划分,但这两种方法在极端情况下会出现较大的误差,且等价键簇中所有的连接键共用一个分桶结果,所以为了降低每个连接键上桶的方差,作者提出了一种贪婪的分桶策略(greedybinningselectionalgorithm,GBSA)。
  GBSA算法如算法2所述。GBSA首先在每个等价键簇中生成次优的分桶结果(line1),而后对每个等价键簇执行算法2所示的过程(line214)。以等价键簇中连接键域的长度递减的顺序进行排序(line3)。用一半数量的桶降低第一个连接键的方差(line4)。在单属性上获得具有最小方差的划分结果时,可将属性排序后以等深策略进行划分。而后,GBSA将在当前连接键上的分桶结果逐个应用到它后面的连接键中,计算各个桶的方差并以递减的方式排序(line69),用剩余的可分配桶的数目的一半数量优化当前的桶方差,即将相应的桶一分为二(line1012)。捕获属性间的依赖关系
  在使用因子图计算多表的基数时,时间复杂度为O(NDmax(JK)),D为所有连接键中最长的域的长度,已通过概率上限算法进行优化;指数项max(JK)表示单表拥有的最多连接键的数量,在IMDB数据集中,该值能大到4,所以作者对这一项进行优化。
  由于因子图需要知道单表中连接键的联合分布,单表的连接键数量就决定着该部分推理的复杂度。如对拥有六个属性的表A{id1,id2,id3,id4,attr1,attr2}(idi表示各个连接键),因子图需要估计PA(id1,id2,id3,id4Q(A))。即使已经采用概率上限算法,该部分时空复杂度也达到了k2。然而,可用贝叶斯网络构建各连接键的依赖关系并使用变量消除算法进行推理。此时,仅需进行如下形式的计算:
  PA(id1Q(A))PA(id2Q(A))PA(id3id1)PA(id4id3)
  这种形式效率更高因为它最多只涉及二维分布上的乘积。时空复杂度降低为了O(Nk2)。子计划估计结果的重用
  由于优化器在选择查询计划时,可能会估计多达上千个计划的代价。但这些计划可能存在一些相同的子计划,所以为了进一步提升效率,作者将各子计划的结果保留用作其余部分的估计。实验数据集
  Baselines
  PostgresSQL〔10〕:使用基于直方图的方法
  JoinHist〔1〕:传统的基于连接直方图的方法
  WJSample〔11〕:在多表中使用基于随机游走的wanderjoin方法生成样本
  MSCN〔4〕、BayesCard〔9〕、DeepDB〔5〕、FLAT〔6〕:最具代表性的学习型方法
  PessEst〔12〕:SOTA的基于上限的方法,利用随机哈希和数据画像来使上限尽量接近真值
  UBlock〔13〕:使用topk统计数据来估计基数界限总体表现
  表3表4分别给出了众模型在STATSCEB与IMDBJOB上的端到端时间的实验结果。在STATS数据集上,多数方法的端到端时间优于Postgres,FactorJoin达到最优的效果;值得注意的是,DeepDB、FLAT的端到端时间虽然略长于FactorJoin,但二者的计划时间比FactorJoin高了一个量级,应是在处理CEB包含的查询时会产生多种执行计划,DeepDB与FLAT需要把每种计划都推理一遍,因此比较耗时。
  表4给出了在IMDB数据集上的端到端时间的实验结果。可以看到,除了MSCN和FactorJoin外其它方法的效果均没有Postgres的好。因为相较于STATS数据集,IMDB的体量更大,IMDB拥有更多的表、更大的属性域以及更复杂的连接关系。且IMDB含有较多的复杂字符类数据,而BayesCard、DeepDB以及FLAT仅支持可枚举的字符型数据,所以并未进行相应的实验。值得一提的是,FactorJoin的端到端时间在STATS数据集上与TrueCard相近,但在IMDB数据集上则与之相差较远。这是因为IMDB拥有更复杂的连接,而FactorJoin在连接键上进行上限估计,当连接键增多时错误也会累积。MSCN相较于Postgres也有提升,因为查询驱动的方法对数据集的大小不敏感而更依赖于训练所使用的查询的质量。
  图10给出了多个模型在两个数据集上的端到端时间、模型大小以及训练时间的实验结果。可以看到,FactorJoin在各个实验内容上都达到了最优的效果,且其模型大小与训练时间比DeepDB与FLAT低了两个量级。
  图10在两个数据集上的总体表现详细分析
  图11给出了几个模型在CEB的146个查询上估计的相对误差。可以看到,PessEst生成精确的上限并且从不低估。FLAT使用更大的模型来理解连接模式的分布并产生最准确的估计。FactorJoin可以为超过90的子计划查询输出基数上限。大多数边际低估都非常接近真实基数。
  图11在STATS上的相对误差
  图12在STATS上单个查询的表现
  图12给出了各模型在STATSCEB上单个查询的表现。可以看到,在时间较短的查询里,多数模型的表现不如Postgres。随着查询的端到端的时间的提升,几种方法的效果开始优于Postgres,因为随着查询的端到端时间的增加,用于计划的时间占比降低,执行时间占比增大,而其余方法相较于Postgres有更高的准确度进而会产生代价更低的计划。消融实验
  图13给出了FactorJoin在不同的k值下的表现。可以看到,随着桶数量的增加,模型估计的端到端时间以及相对误差在逐步降低并逐渐趋于稳定。而单查询的推理时延、训练时间以及模型大小在快速增加。
  图13不同桶的数量(k)对模型的影响
  表6给出了在使用不同分桶算法的情况下模型的端到端时间。可以看到,等宽划分和等高划分的效果相近,而本文提出的GBSA优于这两种方法。
  表8给出了使用本文提出的两种方法相较于传统的连接直方图的端到端时间对比。可以看到,本文提出的两种方法都能提升模型的估计效果以使优化器选择更优的执行计划。总结
  本文提出了一种用于连接查询的基数估计框架FactorJoin,该框架将经典的连接直方图与学习型单表基数估计结合成一个因子图。该框架将传统的基数估计问题转化成因子图的推理问题,且只需要知道单表的分布。作者还提出了两种优化算法以提升模型的效率。最终,FactorJoin在查询的端到端时间优于其它SOTA算法的情况下,模型大小、训练及更新时间比DeepDB及FLAT低了两个量级。
  链接:https:juejin。cnpost7213983712731447354

男人3大耗阳行为,很多人经常做,或在透支身体,别不当回事我们形容男人身体健壮,精力充沛,常会用到阳刚之气这个词。阳气虽然看不见摸不着,但它就像身体的发动机,推动着体内的循环,是体质好的必要条件。一旦男人的阳气不足,人就容易疲劳,精神不振晨不吐口水,午不泄精水,晚不流汗水有何寓意?中年后多了解对于年纪大一点的人来说,在养生方面可能知道很多的民间俗语谚语。不过,现在和以前不一样了,很多东西都讲究科学,这些俗语还适用吗?比如晨不吐口水,午不泄精水,晚不流汗水这句,说的是什么血压高不能吃花生?医生血压高的人,3种素食尽量少碰高血压是一种常见的慢性疾病,可以说是严重影响人们的健康生活,在确诊高血压之后,很多人都需要长时间服用降压药,但如今临床医学当中,高血压患者也是越来越多。更多的人是疑惑,为什么会出现中超0成都蓉城,武磊梅开二度吕文君建功北京时间9月29日,中超联赛第18轮进行,上海海港对阵成都蓉城。第21分钟,吕文君破门第40分钟,武磊吊射打进回归海港首球第51分钟,武磊上演梅开二度的好戏。最终海港30取胜成都蓉女篮世界杯中法大战评分三人满分两将不及格,前锋线出类拔萃女篮世界杯八进四决战,中国女篮迎来了老对手法国,结果此前小组赛一直投不准的法国队,这场完全变身,投射找回了手感,给了中国女篮巨大压力,另外防守端的侵略性也很大,但中国这边李梦和黄思国务院最新人事任免任命周进强为国家体育总局副局长任命赵冲久为国家邮政局局长。免去邵新宇的科学技术部副部长职务免去高晓兵(女)的民政部副部长职务免去赵冲久的交通运输部副部长职务免去陈金甫的国家医疗保障部分用户反馈苹果AppleWatchUltra存在果冻屏问题IT之家9月29日消息,苹果AppleWatchUltra具有迄今为止AppleWatch上最大的显示屏,但使用了与以前型号相同的显示技术。苹果AppleWatchUltra已经上现货快去抢RedmiK5012512G顶配热销中年度真香机RedmiK50搭载了台积电5nm的天玑8100处理器,以及三星2K柔性直屏,配备了RedmiK50Pro同款VC散热系统,其也是在售同价位中少有搭载天玑8100,搭载支2500元中端手机别乱买,这3款媲美5000元的高端机,少花冤枉钱在购买手机的时候,很多人都讲求性价比,认为千元机的性价比是最高的,如果有2500元左右预算的话,就可以购买到非常强的手机了,甚至性能可以媲美五六千元的高端机。OPPOK10ProO为什么头皮总长脓包和疙瘩?医生3种病要考虑在内为什么头皮总长脓包和疙瘩?医生3种病要考虑在内头皮是一个比较容易被我们忽略的部位,如果你的发质受损严重,也会影响头皮健康,诱发头皮毛囊炎,长时间不清洗头发,也会出现头皮发痒的感觉。恋爱期间男友让你纹身的要求你会拒绝么?提到纹身不知道大家会想到什么?可能有的人会说左青龙右白虎之类的霸气纹身,这种纹身一般都常见于男生。女生一般都会选择一些小巧些的纹身,还有一些女生喜欢把纹身纹在比较私密的地方,就是大
试玩幸福庄园养一只猪就有30块钱?大家好,我是0628号试玩员。广告软件的坑我来帮你踩,测试不易,(广告都要看吐了)给我一个免费的助力吧。朋友们你们阳了吗,我羊过了,今天是第十天了,十天没更新了,那感觉太难受了,我今日冬至,提醒家人谨记2不做,3要吃,轻松度过三九天老话说吃了冬至饭,一天长一线。冬至是一年中黑夜最长的日子,过了今天白天越来越长。虽然进入数九寒天,温度更低了,但地里的阳气逐渐向上升腾,大自然开启新一轮循环,生机开始萌发。冬至这天真正见过世面的女人,鞋柜中都有这3双短靴,搭裙子裤子都好看在时尚的道路上,总是有人在砥砺前行,很多人认为时尚是一件非常简单的事情,打扮的时尚一点并不需要花太大的精力,可你知道吗?在穿衣打扮当中,就算你的服装单品在时髦,发型妆容也足够精致,36氪首发炎黄国芯获数千万元A轮融资,加速实现高性能高可靠电源管理芯片自主可控作者韦世玮36氪获悉,近日国产电源管理芯片公司炎黄国芯宣布完成数千万人民币A轮融资,由梅花创投投资。本轮资金将用于加速公司在高端自主可控电源管理芯片领域的团队建设,并加强供应链能力如何评价12月22日发布的vivoS16系列,有哪些值得关注的亮点?有幸提前上手体验了一段时间的vivoS16Pro。vivoS16Pro是一款设计感出色,轻薄高颜值,且拥有旗舰级性能表现的手机,相信也会是一款能给你带来美好体验的手机,对vivoS曝三星GalaxyS23系列将于2023年2月1日发布此前曾有爆料称,三星预计在明年春季的Unpacked线下活动中发布全新一代三星GalaxyS23系列旗舰。今日有更加确切的三星新一代旗舰手机的发布时间被曝光,据博主i冰宇宙爆料,三这条裙子让赫本美成了经典,30岁女人穿洋气显瘦,美到骨子里经典不过时的赫本裙就是优雅本身,复古高级的配色搭配上高级又利落的剪裁,轻轻松松就可以打造出满满的法式氛围感,最大程度的突出身材优势,不同身型的女生都能完美驾驭,穿出不同的韵味和风情梅西世界杯夺冠Karsa晒天价名表,价格曝光网友直呼离谱?众所周知,作为LPL顶尖打野选手的Karsa不仅是老二次元,而且还是一位知名的手表爱好者,平时非常喜欢收藏著名腕表品牌的高端手表。比如曾经在赛场上Karsa就被镜头拍摄到手腕上戴着供暖效果不好?这款海尔产品99元就能拥有,家里每一个地方都温暖马上过年了,天气也是越来越冷,防寒保暖成了目前最重要的事情了,尤其是现在这个特殊的环境下,如果不慎感冒了,可真是难办,所以保证房间中的温暖是当务之急。哪怕是有暖气的北方,也受各种因Q3手机处理器销量排名联发科高通苹果前三,华为海思份额为零关注数码圈的小伙伴都知道,现在安卓阵营的手机基本都是搭载高通或者联发科的处理器,而苹果则用自己自研的处理器。联发科高通苹果,这也是我们最常见的三家处理器供应商。那么,这三家谁的处理真我10Pro新机强势发布,realme9彻底跌至白菜价就是白给对于喜欢游戏的伙伴来说,这款手机也值得入手。真我10Pro搭载的1260Hz电竞操控引擎,响应速度更快,可以在玩游戏的时候抢占先机。另外,研究Xtouch的防误接触算法可以有效地解
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网