  Data compression is widely used in contemporary column-oriented DBMSes to
lower space usage and to speed up query processing. Pioneering systems have
introduced compression to tackle the disk bandwidth bottleneck by trading CPU
processing power for it. The main issue of this is a trade-off between the
compression ratio and the decompression CPU cost. Existing results state that
light-weight compression with small decompression costs outperforms
heavy-weight compression schemes in column-stores. However, since the time
these results were obtained, CPU, RAM, and disk performance have advanced
considerably. Moreover, novel compression algorithms have emerged.
  In this paper, we revisit the problem of compression in disk-based
column-stores. More precisely, we study the I/O-RAM compression scheme which
implies that there are two types of pages of different size: disk pages
(compressed) and in-memory pages (uncompressed). In this scheme, the buffer
manager is responsible for decompressing pages as soon as they arrive from
disk. This scheme is rather popular as it is easy to implement: several modern
column and row-stores use it.
  We pose and address the following research questions: 1) Are heavy-weight
compression schemes still inappropriate for disk-based column-stores?, 2) Are
new light-weight compression algorithms better than the old ones?, 3) Is there
a need for SIMD-employing decompression algorithms in case of a disk-based
system? We study these questions experimentally using a columnar query engine
and Star Schema Benchmark.
