Lesson 04:Execution 性能优化疑问讨论

FQA

  1. Volcano 是什么,与算子有什么关系?

  2. 我需要学习什么,然后如何优化

  1. Volcano 是什么,与算子有什么关系?

Volcano 模型是一篇论文里面提出来的,是数据库优化器的经典框架。
SQL 会经过 logical plan,physical plan,然后到 executor。整个语句在这些步骤中会被解析成关系代数 (select / project /join /union 等等),再经过 logical rules 的 rewrite, 再结合统计信息的 phyiscal rewrite,变成执行器层的算子。Volcano 就是告诉你这样一个优化器的框架。

到了执行器那边,算子就是一个树型的结构(或者说 DAG 有向无环图),然后上层节点的不停调用 Next ,找下层的算子获取数据…最后将结果吐出完成 SQL 请求。

  1. 我需要学习什么,然后如何优化

需要善用搜索引擎;
多多关注我们的博客或者技术文档类的;(比如博客,比如知乎
再硬核一点的模式就是读代码,然后给我们提 PR… 自己写代码是理解最透彻的