KOVAE是MySQL执行层的一个引擎,位于优化器层下方。KOVAE引擎使用MySQL插件接口,将符合并行条件的SQL过滤到KOVAE执行引擎中并行执行,更好地利用了鲲鹏服务器的多核优势,提高了SQL语句的执行性能。
KOVAE在MySQL中的位置如图1所示。当优化器层制定执行计划后,KOVAE会判断是否需要交由MySQL执行器执行,或者由KOVAE自身执行。在某些情况下,KOVAE还可以将执行计划转回到MySQL执行器执行。
图1 KOVAE在MySQL中的位置
KOVAE的框架结构如图2所示。
- MySQL插件接口:为MySQL第二引擎的标准接口,用于支持KOVAE的热安装、热卸载。
- 白名单控制:用于保证受支持的、有性能提升的执行计划才进入KOVAE执行。
- 执行计划适配器:用于将MySQL的执行计划转化为列存、批处理、可多线程并行执行的执行计划。
- TableScan、Sort等各种并行执行算子:使算子可并行处理数据,详见表1,提升多核CPU的利用率,提升SQL语句的执行性能。
- add、minus等各种表达式:实现了列存数据的批量处理,便于利用Arm服务器向量化的特性来提升SQL语句的执行性能。
图2 KOVAE框架结构