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/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用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 混沌工程原则