Vectorised Processing--Calculating Query Answers Fast
The most distinctive feature of Vector is the “vectorised” method it uses for evaluating queries. Rather than operating on single values from single table records at a time, Vector makes the CPU operate on “vectors,” which are arrays of values from many different records. Such vectorised execution brings out the best in modern CPU technology. It brings to the world of databases the high performance that modern computers exhibit for scientific calculation, gaming, and multimedia applications.
The technical basis for efficiency of vectorised processing is that modern chip technology (be it Intel, AMD, or IBM manufactured) now uses deeply pipelined CPU designs. Keeping all pipelines full—and thus efficiency near peak—is impossible for traditional database engines primarily due to code complexity. Similarly, crucial CPU features such as Intel's Streaming SIMD Extensions (SSE) and Advanced Vector Extensions (AVX) are not used well by traditional database systems.
Vectorised processing changes that. It provides efficiency that traditionally is only obtained by computer programs handwritten for one particular task. Also, because of the high clock frequency of current CPUs, database systems now need to treat main memory access as a significant cost factor. Vector tackles this by ensuring that the vectors it operates on fit inside the CPU caches, avoiding unnecessary (and in multi-core systems, often contended) main memory access. Vector takes advantage of multi-core systems by handling multiple queries concurrently or by running single queries in parallel.
The improved overall computational efficiency of Vector over traditional commercial relational database technology is at least an order of magnitude for long running analytical queries.