2. Vector Concepts
Share this page                  
Vector Concepts
Table Structures
Data Compression
Query Optimization
Data Manipulation
Transaction Isolation Model
SQL Access
Storage Structures
Default Database Characteristics
Transaction Management
Vector Architecture
VectorH Architecture
Command Summary
Table Structures
In broad terms, Vector uses columnar storage. While data is stored and retrieved in familiar relational rows, the internal storage is different. Instead of storing all column values for a single row next to each other, all rows for a single column are stored together. This storage format has benefits for data warehouse applications, such as reduced I/O and improved efficiency.
A relational table may have dozens or hundreds of columns. In traditional row-oriented relational storage, the entire row must be read even if a particular query requests only a few columns. With column-oriented storage, a query that needs only a few columns will not read the remaining columns from disk and will not waste memory storing unnecessary values. A side benefit of this columnar storage is that compression (see Data Compression) can be more effective.
While Vector is fundamentally a column store, it is not strictly so. For certain types of tables, Vector stores data from more than one column together in a data block on disk. Within a data block the values for each column are kept together so that data for a column can be processed efficiently in vectors. Vector also provides a storage type that lets you indicate you want to store all columns for a table in a single block.
In VectorH, tables are also partitioned horizontally, based on a hash value of the partition key column(s). A single data file stored in HDFS will contain data for a single column (with the exceptions mentioned above) and a single partition.