The Evolution of GPU Database Implementation Technologies
The explosive growth of data has increased the demands for data storage and processing.GPU databases,as an important branch of new hardware databases,have unique advantages in high-capacity and high-performance processing.As representatives of high-performance databases,GPU databases have attracted the attention of both academia and industry in recent years,with a number of representative research results and landmark practical products emerging.The technical development of GPU databases unfolds along two routes:GPU-accelerated and GPU-memory-based.Both routes have corresponding prototype systems or products.Although these development routes differ in implementation,the basic functionalities and core technologies of GPU databases are similar,including query compilation,query optimization,query execution,and storage management.The rapid development of new hardware offers more possibilities for data processing,storage,and transmission.Current mainstream data transmission solutions,besides PCIe,include NVLink,RDMA,and CXL,which provide more possibilities for data transfer between different processors.Most GPU databases use a columnar storage model for data storage,while a few GPU databases(such as PG-Strom)support both storage models.The columnar storage model can utilize compression techniques to reduce data storage space and transmission latency.Data compression schemes on GPU databases generally adopt lightweight compression methods,ensuring that the time spent on data compression and decompression constitutes a small portion of the overall data processing time and does not significantly increase the system's time overhead.Building and maintaining indexes on GPU databases should be lightweight and should not incur significant system overhead.Compilation time directly affects query performance,with JIT compilation being the mainstream for GPU database compilation due to its short compilation time and high efficiency.Operators significantly impact database query performance,with join operations,group aggregation,and OLAP operators being the most studied types.In most current studies,join and group aggregation operators are often researched together,considering the join order of tables during the execution of join operators.OLAP operators are another extensively researched type in GPU databases,with the advantages of GPU databases in handling analytical workloads drawing continuous attention from researchers.GPU databases have three query processing models:row processing,column processing,and vectorized processing.Vectorized processing and column processing are more commonly applied in practical systems.Additionally,due to the development of GPU-accelerated database technology,a certain number of research results on query schemes and query engines for the CPU-GPU collaborative processing model have emerged.The query optimization of GPU databases mainly involves three aspects:multi-table join order,query rewriting,and cost models.However,there is currently no good solution for the cost evaluation model of GPU databases,indicating that query optimization in GPU databases still has significant research space in the future.Transactions,a major feature and an important function of database systems,have developed very maturely and comprehensively on disk databases.However,this critical technology has not been well studied in GPU databases.Although there are individual prototype systems,current research has not achieved significant progress.This paper summarizes the existing research results of various key technologies of GPU databases,points out the current problems and challenges faced by GPU databases,elaborates on the overall development trends and evolution processes of GPU databases,summarizes the most promising research points at present,and provides an outlook on future research directions.