11.7

Why is column-oriented storage potentially advantageous in a database system that supports a data warehouse?


Column-oriented storage has at least two major benefits over row-oriented storage:

  1. When a query needs to access only a few attributes of a relation with a large number of attributes, the remaining attributes need not be fetched from disk into memory. In contrast, in row-oriented storage, not only are irrelevant attributes fetched into memory, but they may also get prefetched into processor cache (L1, L2, L3), wasting cache space and memory bandwidth, if they are stored adjacent to attributes used in the query.

  2. Storing values of the same type together increases the effectiveness of compression; compression can greatly reduce both the disk storage cost and the time to retrieve data from disk.