Actian Vector is a commercial main-memory RDBMS targeting analytical workload and decision support application. It adopts columnar storage model and vectorized processing model. To speed up analytical query exectuion, Vector makes use of various technologies including x86 SIMD execution, in-cache execution, parallel execution, data compression, storage index, etc. Actian Vector is available on Windows, Linux, Hadoop, AWS, and Microsoft Azure platforms.
The origin of Vector dates back to the MonetDB project at CWI(Centrum Wiskunde & Informatica) Research Institute in Netherlands. MonetDB was a columnar in-memory RDBMS which adopts column-at-a-time processing model and targets analytical workload. The "MonetDB/X100" project started in 2005 further improves MonetDB with vectorized processing model and other technologies. In 2008, X100 project parted from CWI as a foudnation for a commercial RDBMS product. After that, efforts were put into integrating X100 with Ingres front end and building a commercial product out of X100 project. The first version of Vectorwise DBMS was released in Jun 2010. In 2014, Vectorwise was rebranded as Actian Vector.
Dictionary Encoding Delta Encoding Run-Length Encoding Naïve (Page-Level) Bit Packing / Mostly Encoding
Vector compresses each column on a per-page basis for better compression performance. Thus different pages of the same column may be compressed using different algorithms.
For the page-level naïve compression, Vector uses LZ4 to compress string values.
Vector adopts late decompression approach where columns in memory buffer are only decompressed when they are needed for query processing.
Vector uses an adaptive storage model based on PAX partitions. By default, Vector stores tables in columnar model. Nullable attribute has a boolean type column which is stored together with the attribute column. However, if there exists an index where the key spans multiple attributes, these columns are grouped together and stored in the same block. For small tables, user can instruct Vector to store data in n-ary model to reduce wasted space.
http://www.actian.com/products/vectorwise
https://docs.actian.com/vector/5.1/index.html
Actian
Vectorwise, MonetDB/X100
Actian
C, C#, C++, COBOL, Java, Perl, PHP, Python, SQL, Visual Basic