  The performance of main memory column stores highly depends on the scan and
lookup operations on the base column layouts. Existing column-stores adopt a
homogeneous column layout, leading to sub-optimal performance on real workloads
since different columns possess different data characteristics. In this paper,
we propose ByteStore, a column store that uses different storage layouts for
different columns. We first present a novel data-conscious column layout,
PP-VBS (Prefix-Preserving Variable Byte Slice). PP-VBS exploits data skew to
accelerate scans without sacrificing lookup performance. Then, we present an
experiment-driven column layout advisor to select individual column layouts for
a workload. Extensive experiments on real data show that ByteStore outperforms
homogeneous storage engines by up to 5.2X.
