dremio 查询执行阶段简单说明

内容实际来自官方架构介绍,图以前也在博客中放过,现在进行说明下

参考执行图

阶段说明

参考上图,dremio将执行分为可4个阶段

  • 客户端通过jdbc,odbc,rest 提交查询到协调节点
  • 计划阶段 
    此阶段可以细分3步 
    a. 协调节点解析查询为dremio的通用关系模型 
    b. 协调节点基于数据源的统计信息,生成查询执行计划,以及源的功能能力 
    c. 协调节点进行查询计划的重写(会使用到数据反射,考虑的东西比较多,比如排序,分区,数据分布,以及数据源的能力)
  • 执行 
    此阶段可以细分3步 
    a. 引擎从数据源并行的读取数据为arrow buffers,数据通常直接来自数据湖存储,有时也可能来自数据反射,或者外部数据源 
    当读取外部数据源的时候,引擎提交的是原生查询(jdbc ,mongo。。。) 
    b. 引擎执行查询的查询计划 
    c. 一个引擎合并来自一个或者多个引擎的数据,并通过stream 的模式到协调节点(pipeline)
  • 客户端从协调节点接受数据

说明

所有的数据操作都在执行节点(实际是指sql 数据类的操作),dremio 的执行实际上与大部分分布式查询引擎的流程类似(trino 等),只是dremio 又提供了不少其他比较方便的能力可以加速数据的使用

参考资料

https://www.dremio.com/downloads/DremioArchitectureGuide.pdf
https://www.dremio.com/blog/dremio-cloud-under-the-hood/
https://docs.dremio.com/24.2.x/help-support/lakehouse-arch/

posted on   荣锋亮  阅读(45)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2022-03-04 dremio arp BaseTestQuery 类windows 系统问题
2022-03-04 dremio 内置的一些默认配置参数
2022-03-04 dremio 的ArpDialect 简单介绍
2021-03-04 pyroscope 参考使用
2021-03-04 pyroscope 很不错的基于golang 的火焰图分析工具
2019-03-04 混沌工程原则

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示