当前位置:网站首页>【技术课堂】从批到流:pull or not pull, that's a question
【技术课堂】从批到流:pull or not pull, that's a question
2022-07-29 18:51:00 【涛思数据(TDengine)】
一条 SQL 的执行中,会经历语法树、逻辑计划、物理计划等几个阶段,最终被创建出可实际执行的算子树。在算子树上,数据的流向是从叶子节点到根节点,若以生产者、消费者的观点来看,子节点是数据的生产者,父节点是数据的消费者,而 Push 模型与 Pull 模型之分则是指,作为消费者的父节点与作为生产者的子节点如何控制数据交换:是子节点主动将数据 push 到父节点,还是父节点向子节点 pull 数据。
数据库中经典的 Volcano 执行模型是 Pull 模型。
但自 Hyper 在 2011 年引入 Push 模型后,Push 模型在新兴的数据库,尤其是 OLAP 引擎中变得逐渐流行,如 Presto,Snowflake,DuckDB 等都采用了 Push 模型构建查询引擎。
作为流引擎的代表,Flink 在流算子与流算子之间也完全采用 Push 的方式来交互数据。
但是,它们并不意味着经典的 Pull 模型就丧失了其强大的生命力,Databricks 的闭源查询引擎 Photon 在对比这两者后仍然采用了基于 Pull 的向量化引擎来构建。
而 ClickHouse 则采用 Push 与 Pull 结合的方式进行数据交互。
2022 年 7 月 28 日(周四) 20:00-21:00,TDengine 研发工程师刘继聪将和大家一起讨论如下话题:
·本期技术话题·
1. 经典的 Volcano 模型如何进行算子间数据交换,在单机与分布式两种场景分别如何进行
2. Hyper 为何要引入 Push 模型,Push 模型与 code gen 是什么关系,它们与向量化引擎又是什么关系
3. Clickhouse 如何将算子树转换为 Pipeline
4. Flink 的 Push 引擎中,消费者反向如何控制生产者
5. 如何结合 Push 与 Pull 构建起事件驱动的流式计算引擎
我们希望听众能从本次讲解的内容中深刻理解这两种模型的区别及其取舍;以及由 Push 与 Pull 衍生出的更关键的问题,即算子的执行如何调度、消费者如何控制生产者等。
刘继聪,毕业于复旦大学,计算机科学与技术专业,曾就职于阿里云,现 TDengine 存储引擎研发工程师。
扫描图片二维码,立即报名!
\\\\٩( 'ω' )و ////
首届「TDengine 开发者大会」来啦!!
️ 一直被万众期待的 TDengine 3.0 将正式和大家见面
️ 基础软件领域知名大咖、知名投资人现场演讲
️ 各行各业 TDengine 典型用户现身说法
️ 现场惊喜不断,精美礼品拿到手软
️你离「TDengine 开发者大会」只差一条 SQL 语句!
8月13日 Hello TDengine!Hello World!
点击阅读原文,报名参与直播!
边栏推荐
猜你喜欢
随机推荐
笛卡尔树(暑假每日一题 9)
R语言时间序列数据提取:使用head函数或者tail函数获取时间序列数据中最早或者最新的样本数据
函数的声明与作用域
手势密码解锁微信小程序项目源码
活动回顾 | 大咖云集“开源安全治理模型和工具”线上研讨会
工作9年了!
Apifox免费吗?完全免费,不限团队人数,不限功能
Chapter 01 Installation and use of MySQL under Linux [1. MySQL Architecture] [MySQL Advanced]
第21章 内存管理
记录一个相当坑爹的WSL局域网访问问题
UE4选不中半透明物体(半透明显示快捷键是啥)
Make a file upload progress bar
C#_OpenCV使用相机
【win10系统安装deepin双系统重启进不了win系统解决办法】
关于高考选志愿
测试基础:Nosql数据库之Redis
搭建自己的以图搜图系统 (一):10 行代码以图搜图
我用两行代码实现了一个数据库!
支持向量机SVM
开源数据标注工具