聊聊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日在上海举行,主题为加速行业智能化。
➡️

继续阅读