当前位置:网站首页>【技术课堂】从批到流: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!
点击阅读原文,报名参与直播!
边栏推荐
猜你喜欢

Function declaration and scope

第02章 MySQL的数据目录【1.MySQL架构篇】【MySQL高级】

手机银行体验性测试:如何获取用户真实感受

新王加冕还是动物乐园?7大顶级蓝筹NFT项目详解

Win11任务栏太宽了怎么变窄?Win11任务栏宽度调整方法

第01章 Linux下MySQL的安装与使用【1.MySQL架构篇】【MySQL高级】

搭建自己的以图搜图系统 (一):10 行代码以图搜图

无人驾驶技术有什么优点,人工驾驶的优缺点英文
![Chapter 01 Installation and use of MySQL under Linux [1. MySQL Architecture] [MySQL Advanced]](/img/f6/8c513ab62c8d3259c9c8ef13887276.png)
Chapter 01 Installation and use of MySQL under Linux [1. MySQL Architecture] [MySQL Advanced]

记录一个相当坑爹的WSL局域网访问问题
随机推荐
单核浏览器和双核浏览器有什么区别,哪个好用?
峰会(暑假每日一题 8)
C# CLI(公共语言基础结构)
Experience Sharing | Tips for Writing Easy-to-Use Online Product Manuals
嵌入式开发:嵌入式基础——软件错误分类
etcd实现大规模服务治理应用实战
碎片化时间真的适合学习吗?
PX4模块设计之十四:Event设计
Typescript使用修饰器混合方法到类
新西藏,在云上!
MarkBERT
高速无源链路阻抗匹配套路
牛客网剑指offer刷题练习之重构二叉树
Chapter 02 MySQL Data Directory [1. MySQL Architecture] [MySQL Advanced]
Test push | Ali Fliggy, Baidu, 58 (recruitment), Zhihu, Huanxin Network, Baiguoyuan, Ali (Lazada), Shenzhicheng, Yuanrong Qixing are recruiting
算力顶天地,存力纳乾坤:国家超级计算济南中心的一体两面
Apifox免费吗?完全免费,不限团队人数,不限功能
R语言时间序列数据提取:使用xts包的first函数提取时间序列中最前面10天的数据(first 10 day)
pfSense high availability (HA) function introduction
[数学]必备基本知识
