MySQL可插拔在线向量化分析引擎

应用场景:MySQL可插拔在线向量化分析引擎(以下简称KOVAE)适用于OLAP查询、大数据量和支持多核CPU的场景。

技术原理:采用并行处理机制,每个算子含有多个worker线程,显著缩短SQL语句的执行时间;利用列存储结构,数据处理更加高效;通过插件形式提供第二执行引擎,支持可插拔动态加载。

SQL和执行的结果集的数据流向如图1所示。

图1 KOVAE运行原理图

KOVAE内部执行过程概览如图2所示。

图2 并行执行结构

性能指标采用可插拔在线向量化分析引擎提供的并行加速技术,可以将OLAP查询性能提升到3倍以上。

表1 已实现并行查询的SQL算子

算子

算子名称

TableScanIterator

全表扫算子迭代器

IndexRangeScanIterator

索引范围扫迭代器

RefIterator

非唯一索引上的等值匹配算子迭代器

EQRefIterator

唯一索引上的等值匹配

LimitOffsetIterator

limit算子

FilterIterator

过滤算子

NestedLoopIterator

nested loop join算子

HashJoinIterator

hash join算子

AggregateIterator

agg算子

SortingIterator

sort算子

TemptableAggregateIterator

分组结果保存在临时表的agg算子

MaterializeIterator

物化算子

StreamingIterator

streaming算子

如何使用:

  1. 获取ha_kovae.so文件,复制到MySQL插件的存放路径。
  2. 将目标表的第二引擎设置为KOVAE,并将目标表加载到KOVAE中。
  3. 修改相关配置参数后执行SQL。

限制条件: