开发者社区 > 数据库 > 正文

自适应优化的架构是什么样的?

自适应优化的架构是什么样的?

展开
收起
詹姆斯邦德00 2021-12-22 15:08:53 424 0
1 条回答
写回答
取消 提交回答
  • image.png

    如图所示,按照自适应优化按照的生效场合,可以分为运行中和事后基于历史的两大类。图中蓝色部分是运行中的一些优化方式,首先是对计划的调整,比如对物理算子的选择,最常见的是 HashJoin、SortMergeJoin 或者 Index Join。另外在分布式执行计划中最重要的就是如何进行数据分布,通过对小数据量的进行广播,避免 Join 的另外一边进行数据 Reshuffle。还有就是不同任务计算节点的并发数,对小数据量进行分布式计算会带来额外的资源开销,针对数据倾斜的分片需要进行重新的Reshuffle。另外一个运行中优化的重要手段就是算子本身具备的自适应,在分布式计划中一个非常常见的优化手段就是 Partial Aggregation,但并不是所有的聚合操作都在局部有一定的收敛性,自适应的局部聚合算子在处理了部分数据后,发现本身没有收敛性,可以快速放弃做局部聚合。此外,还有一个运行中的优化手段,就是 DynamicFilterPushDown了,这个目前在很多计算引擎都具备,就不做过多展开。

    资料来源:《数据库:从趋势到实践》,链接:https://developer.aliyun.com/topic/download?id=1113

    2021-12-22 15:10:25
    赞同 展开评论 打赏

数据库领域前沿技术分享与交流

相关电子书

更多
MaxCompute Serverless 架构演进 立即下载
阿里云消息队列的 Serverless架构演进 立即下载
青团社云原生架构实践—亿级灵活用工平台的架构实践 立即下载