前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Calcite系列(五):执行流程-概览

Calcite系列(五):执行流程-概览

原创
作者头像
Yiwenwu
修改2024-04-18 09:50:56
2020
修改2024-04-18 09:50:56
举报
文章被收录于专栏:Calcite剖析Calcite剖析

SQL执行流程有一套通用的步骤,尽管具体的实现可能会因数据库系统的不同而有所差异,但流程相对固定。以下是通用的SQL处理流程:

  1. 解析(Parsing):词法解析与语法解析,将SQL语句转换为数据库系统内部表示,一般以抽象语法树(AST)表示
  2. 验证(Validation):基于元数据系统校验SQL是否有效,例如,检查SQL中表和列是否存在
  3. 优化(Optimization):将抽象语法树转为逻辑计划树,可基于逻辑计划树进行优化。优化可分为两步:(1). 基于关系代数理论进行逻辑优化;(2). 基于执行要素(如表扫描方式、索引等)进行物理优化
  4. 执行(Execution):基于物理计划执行查询,计算结果并返回

Calcite的SQL执行流程也是基于通用框架扩展实现的,可分为如下五个步骤:

  1. 语法解析:基于SqlParser解析器将SQL语句解析为SqlNode抽象语法树(AST)
  2. 合法性校验:基于SqlValidator校验器和元数据Schema信息校验SqlNode语法树的合法性
  3. 计划树构建:构建出基于关系代数表达的逻辑计划树RelNode,方式一. 基于RelBuilder API调用构建;方式二:基于SqlToRelConverter将SqlNode转换为 RelNode计划树
  4. 优化器优化:基于RelOptPlanner优化器进行计划树优化,包括逻辑优化与物理优化,内置RBO优化器和CBO优化器
  5. 计划树执行:基于优化后的RelNode进行执行计算并返回计算结果

其中,第4步计划树优化是整个执行流程的最核心和复杂模块,后续文章将针对各个步骤进行详细阐述。

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据处理套件 TBDS
腾讯大数据处理套件(Tencent Big Data Suite,TBDS)依托腾讯多年海量数据处理经验,基于云原生技术和泛 Hadoop 生态开源技术对外提供的可靠、安全、易用的大数据处理平台。 TBDS可在公有云、私有云、非云化环境,根据不同数据处理需求组合合适的存算分析组件,包括 Hive、Spark、HBase、Flink、presto、Iceberg、Alluxio 等,以快速构建企业级数据湖、数据仓库。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档