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