聊聊分布式 SQL 数据库Doris(五)

曹旭辉  金牌会员 | 2024-1-14 14:21:57 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 475|帖子 475|积分 1425

阅读 Doris SQL 原理解析,总结下Doris中SQL解析流程:

  • 词法识别:解析原始SQL文本,拆分token
  • 语法识别:将token转换成AST
  • 单机逻辑查询计划:将AST经过一系列的优化(比如,谓词下推等)成查询计划,提高执行性能与效率。
  • 分布式逻辑查询计划:根据分布式环境(数据分布信息、连接信息、Join算法等)将单机逻辑查询计划转换成分布式逻辑查询计划。
  • 分布式物理查询计划:在逻辑查询计划的基础上,根据数据的存储方式和机器的分布情况生成实际的执行计划。

逻辑查询与物理查询的区别如下

  • 逻辑查询计划(Logical Query Plan):
    ○ 关注逻辑操作: 逻辑查询计划描述了查询的逻辑操作,即查询的高层次逻辑结构,而不关心具体的物理执行细节。
    ○ 抽象和通用性: 逻辑查询计划是相对抽象和通用的,与底层存储引擎和执行引擎的具体实现无关。
    ○ 用于优化器: 逻辑查询计划是优化器进行查询优化的基础。优化器根据逻辑查询计划来选择合适的物理执行计划。
  • 物理查询计划(Physical Query Plan):
    ○ 关注具体执行细节: 物理查询计划描述了如何在底层存储引擎上执行查询的具体细节,包括如何访问数据、执行连接、过滤和聚合等操作。
    ○ 与底层存储引擎相关: 物理查询计划是与底层存储引擎和执行引擎密切相关的,考虑了存储布局、索引选择、并行度等底层执行细节。
    ○ 用于执行引擎: 物理查询计划是执行引擎直接使用的计划,它指导具体的查询执行。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

曹旭辉

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表