3.1. Overview of Table Compression

Over the years, processors and cache memories have become much
faster, but mass storage based on rotating magnetic disks has not
kept pace. While the storage capacity of disks has grown by about
a factor of 1,000 in the past decade, random seek times and data
transfer rates are still severely limited by mechanical
constraints. Therefore, many workloads are I/O-bound. The idea of
data compression is to pay a small cost in increased CPU
utilization for the benefit of smaller databases and reduced I/O
to improve throughput, potentially significantly.

The ability to compress user data is an important new capability
of the InnoDB Plugin. Compressed tables reduce the size of the
database on disk, resulting in fewer reads and writes needed to
access the user data. For many InnoDB workloads and many typical
user tables (especially with read-intensive applications where
sufficient memory is available to keep frequently-used data in
memory), compression not only significantly reduces the storage
required for the database, but also improves throughput by
reducing the I/O workload, at a modest cost in processing
overhead. The storage cost savings can be important, but the
reduction in I/O costs can be even more valuable. Compression can
be especially important for SSD
storage devices, because they tend to have lower capacity than
HDD devices.