当前位置: 首页 > article >正文

Doris的向量化执行引擎

过去 Apache Doris 的 SQL 执行引擎是基于行式内存格式以及基于传统的火山模型进行设计的,在进行 SQL 算子与函数运算时存在非必要的开销,导致 Apache Doris 执行引擎的效率受限,并不适应现代 CPU 的体系结构。向量化执行引擎的目标是替换 Apache Doris 当前的行式 SQL 执行引擎,充分释放现代 CPU 的计算能力,突破在 SQL 执行引擎上的性能限制,发挥出极致的性能表现。

基于现代 CPU 的特点与火山模型的执行特点,向量化执行引擎重新设计了在列式存储系统的 SQL 执行引擎:

  • 重新组织内存的数据结构,用 Column替换 Tuple,提高了计算时 Cache 亲和度,分支预测与预取内存的友好度
  • 分批进行类型判断,在本次批次中都使用类型判断时确定的类型,将每一行类型判断的虚函数开销分摊到批量级别。
  • 通过批级别的类型判断,消除了虚函数的调用,让编译器有函数内联以及 SIMD 优化的机会

http://www.kler.cn/a/147194.html

相关文章:

  • 深度学习transformer
  • 深入理解 C++ 二叉树
  • 如何在 SQL Server 中新增账户并指定数据库权限
  • ChromeDriver 官方下载地址_测试自动化浏览器驱动
  • 计算机视觉 1-8章 (硕士)
  • Excel超级处理器:高效实现2种批量生成二维码方式
  • 工业级5G路由器:稳定性更高,网络速度更快!
  • HCIP-七、IS-IS 综合实验
  • sqli-labs靶场详解(less11-less16)
  • 迁移redis数据库中的数据到另一台服务器
  • 渗透测试信息搜集
  • vscode代码调试配置
  • 快速搭建一个SpringCloud、SpringBoot项目 || 项目搭建要点
  • Memory Management Examples
  • 【华为OD题库-039】乘坐保密电梯-java
  • Android Tombstone 与Debuggerd 原理浅谈
  • 如何解决React子组件中的逻辑很多影响父组件回显速度的问题
  • 【python程序】把小于10的数值都变成1
  • Gitee上传代码教程
  • Linux基本命令二
  • Compensated Summation/Kahan‘s Summation的理解
  • Python 基础【四】--数据类型-字符串【2023.11.23】
  • 距离向量路由协议——RIP
  • 深入理解OS--数值编码
  • 测试用例的设计思路
  • 【开源】基于Vue+SpringBoot的企业项目合同信息系统