Column-Wise Data Structures

Store data column-wise rather than row-wise.

Column-wise data structures are easily searched without having to scan the full rows. Vertical partitioning of the data means never performing a table scan. Only those columns necessary for a query are returned, significantly reducing I/O.

Row-wise data structures, such as those used in traditional RDBMSs, can be searched only by reading an entire page and then locating the data on the page. Since the columns being searched for are only a fraction of the total data read, there is excessive I/O.

Compare the number of I/O's generated between column-wise and row-wise data structures using the same SELECT statement.

SELECT count(*) FROM customer WHERE gender = "M"


Column-wise verses row-wise sturctures