执行引擎概述

在数据库系统中,执行引擎负责接手优化器创建的查询计划,并按照优化器指定的方式检索数据行。

目前 YMatrix 支持几种执行引擎的使用:

  • 基于 Greenplum 的火山引擎
  • YMatrix 自研发的向量化执行引擎
执行引擎 描述
火山引擎 火山引擎拿到一个执行计划并且用它产生一棵物理操作符树,然后通过物理操作符计算表,最后返回结果作为查询响应
向量化执行引擎 向量化执行引擎是专门为面向列的存储引擎(如 MARS3MARS2AOCO)打造的高性能执行引擎。对于常见查询,相比面向行处理的传统执行引擎有一到两个数量级的性能提升
向量化执行器相比于标量执行引擎其性能收益来自于以下几方面:
1. 批量化处理降低执行开销
2. 小批量处理提升数据热度, 通过保持数据在 CPU 缓存中, 提升数据访问性能
3. 根据数据特征选择最佳处理路径
4. 减少函数调用开销并可利用 CPU 的 SIMD(Single Instruction,Multiple Data) 指令进一步提升效率
5. 逐列处理按需加载来避免加载无用数据