关键词:
GPU数据库
数据压缩
算子优化
OLAP查询
查询处理
摘要:
爆炸式增长的数据对存储和处理数据提出了更高的需求,GPU数据库作为新硬件数据库的一个重要分支,在大容量和高性能处理方面有其独特的优势.GPU数据库作为高性能数据库的代表,在最近几年受到学术界和产业界的关注,一批具有代表性的研究成果和标志性的实际产品已经出现.GPU数据库的技术发展按照GPU加速型和GPU内存型两种技术路线展开.两种技术路线都有相应的原型系统或产品出现.虽然两种GPU数据库的发展路线在实现上有所不同,但GPU数据库最基本的功能部分和核心技术是相似的,都有查询编译、查询优化、查询执行以及存储管理等功能.当前主流的数据传输方案除了PCIe之外,NVLink、RDMA和CXL等传输方案也为不同处理器之间的数据传输提供了更多的可能性.大多数GPU数据库使用列存储模型来存储数据,少数GPU数据库(如PG-Strom)对两种存储模型都支持.在列存储模型上利用压缩技术能减少数据的存储空间和传输时延.在GPU数据库上进行的压缩和解压的时间应该在整个数据处理的过程中占比很少.在GPU数据库上建立和维护索引不应该有很大的系统开销.JIT编译时间短、编译效率高,是GPU数据库编译的主流.操作符对数据库查询性能的影响非常明显,连接操作、分组聚集和OLAP运算符是目前研究最多的三个类型.目前大多数的研究中,连接和分组聚集算子通常结合在一起研究.在连接算子执行的过程中还和表的连接顺序结合在一起进行考虑.OLAP算子是GPU数据库中的又一个被大量研究的算子,GPU数据库在OLAP算子和模型方面持续受到研究者的关注.GPU数据库有三种查询处理模型,即行处理、列处理和向量化处理.向量化处理和列处理在实际系统中应用较多.由于GPU加速型数据库技术的发展,CPU-GPU协同处理模型上的查询方案与查询引擎也有一定数量的研究成果出现.当前GPU数据库的查询优化研究主要有三部分:多表连接顺序、查询重写和代价模型.然而,GPU数据库的代价评估模型在目前还没有很好的解决方案,GPU数据库的查询优化在未来仍有很大的研究空间.事务在GPU数据库中没有得到很好的研究,尽管有单独的原型系统,但目前的研究还没有取得重大进展.本文总结了GPU数据库各种关键技术已有的研究成果,指出GPU数据库当前存在的问题和面临的挑战,对未来的研究方向进行了展望.