聊聊GaussDB AP是如何执行SQL的

💡 原文中文,约4500字,阅读约需11分钟。
📝

内容提要

本文介绍了GaussDB AP中SQL引擎的组件和生命周期,包括Parser、Analyzer、Rewriter、Planner和Executor。还讨论了SQL执行的整体架构和DDL在CN/DN之间的交互。介绍了DML执行计划生成的CBO模型和搜索空间、统计信息、基数估计以及算子代价。最后提到了DWS优化器的分布式计划。

🎯

关键要点

  • GaussDB AP的SQL引擎组件包括Parser、Analyzer、Rewriter、Planner和Executor。

  • Parser负责词法和语法分析,生成Parse Tree。

  • Analyzer进行语义分析,将Parse Tree转化为Query Tree。

  • Rewriter根据用户规则对Query Tree进行重写。

  • Planner优化Query Tree,生成Plan Tree以指导执行。

  • Executor根据Plan Tree执行SQL操作。

  • SQL执行整体架构包括CN和DN之间的交互,处理DDL和DML的不同方式。

  • DDL操作通过指定一个CN串行化执行,避免死锁。

  • DML执行计划生成使用CBO模型,基于代价优化执行计划。

  • CBO模型通过统计信息和基数估计来优化执行计划。

  • DWS优化器为每条SQL构造搜索空间并估算代价。

  • 分布式计划包括不同类型的下发计划,适用于不同场景。

  • 华为全联接大会将于2023年9月20-22日在上海举行,主题为加速行业智能化。

🏷️

标签

➡️

继续阅读