在大规模数据复杂分析或海量数据即时查询场景中,列式存储是 AP 数据库的关键能力之一。分析场景可仅扫描用于查询计算的列数据,避免整行扫描,减少 IO 和内存等资源使用,提升计算速度。另外,按列存储也天然具备更好的数据压缩条件,更易获得较高的压缩比,减少存储空间和网络传输带宽。OceanBase 数据库从诞生起就一直坚持 LSM-Tree 架构,在 V4.3 版本,基于原有技术积累,OceanBase 存储引擎继续扩展,实现对列存的支持,实现存储一体化,一套代码一个架构一个 OBServer,列存数据和行存数据完美共存,这样真正实现了对 TP 类和 AP 类查询的性能的兼顾。
同时,围绕列存引擎,从优化器到执行器、从 DDL 到事务处理等多模块,都进行了适配优化。包括基于列存的新的代价模型和向量化引擎,查询下压功能的扩展和增强,Skip Index,新的列式编码算法,自适应 Compaction 等。