2023年4月7-8日,数据技术嘉年华给我们带了一场数据库行业盛宴。重点关注下向量化引擎的技术实现原理和创新应用点。1、MogDB基于openGauss内核在Copy导入优化方面使用了SIMD指令并行解析,能够提高导入性能10%-20%。SIMD指令优化方面同样可以用到分析型数据库中,比如向量化执行引擎。openGauss本身已实现向量化执行引擎,将执行器以行执行的模式改造成了以batch执行的批量模式。但本身并没有利用SIMD指令进行深度优化。
2、GoldenDB由金融TP型数据库发展到了HTAP数据库,增加了行列混合存储特性,以及向量计算,利用CPU指令集进行优化。可惜没有开源,不知道具体如何实现的列存及如何向量计算并利用CPU指令进行的优化。
3、oceanbase增加了行列混合存储,表格分成多个Row Group,行组内按列存储,在这个基础上增加了向量化执行引擎。利用SIMD指令进行了深度优化。Oceanbase代码已开源,可以从GitHub上下载学习如何利用SIMD指令深度优化:github.com/oceanbase/oceanbase
4、TDSQL同样设计了向量化执行引擎。应该没有实现深度SIMD优化。
5、基于GreenPlum而来的YMatrix,自研开发了mars2存储引擎,增加了min、max等统计信息。可以通过min、max来过滤数据块,仅加载满足条件的值所在的块,大大减少了顺序扫描行数及IO。同时支持全面向量化,充分利用SIMD指令进行优化,据说基本支持了全部的算子。向量化加速100倍以上,这个就很强大了。可惜,Ymatrix不开源。
从大会上看,基本上向量化执行引擎成为了分析型数据库的标配,并且在SIMD指令层进行并行执行。有开源也有商业版的。另外在这方面做的比较牛的还有ClickHouse、StarRocks、DorisDB等。惊喜的是,这些数据库都是开源的,可以从代码中了解向量化执行引擎以及SIMD优化的机制原理。