ByteStore: Hybrid Layouts for Main-Memory Column Stores
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.
READ FULL TEXT