The Design and Implementation of Primitives in Column-Oriented Database Based on Multi-core Architecture

During the last decade, column-store databases have gained successes in OLAP, data mining. For current multi-core architecture, CPU and GPU, designing a set of primitives that exploit the potential parallelism efficiently is very important. In this article, we implement a set of fine-grained primitives for our column-store database gSQL. We gain an order of magnitude faster than My SQL. At the same time, we conclude that memory bandwidth and PCI-E bandwidth are the bottlenecks for the CPU and GPU primitives respectively. It is easy for the primitives to gain high bandwidth at the cost of increasing the temporary vector and we propose some solutions.