1. row store vs column store
1.1. column store suitable for read-mostly, read-intensive, large data repositories
1.2. row store
1.2.1. easy to add/modify a record
1.2.2. might read unnecessary data
1.3. column store
1.3.1. only need to read in relevant data
1.3.2. tuple writes require multiple access
2. benefits
2.1. read efficiency
2.1.1. read only columns needed
2.1.1.1. queries like select * not any faster
2.1.1.2. hundreds of columns, but only read a few
2.1.2. clever disk prefetching
2.1.3. clever tuple construction
2.1.4. operates directly on compressed data
2.2. compression efficiency
2.2.1. compression ratio
2.2.1.1. row store 1:3
2.2.1.2. column store 1:10
2.2.2. column exhibits significantly less entropy
2.2.2.1. enables dense packing
2.3. sorting and indexing efficiency
2.3.1. use multiple overlapping column collections
2.3.2. sorted columns compress better
2.3.3. range queries are faster
2.3.4. use sparse clustered indexes
2.3.5. for heavily-indexed row stores
2.3.5.1. works well for single column access
2.3.5.2. cross-column joins become increasingly expensive