A method of compressing data in a table data structure begins by accessing
a data set within the table data structure, the data set having
associated therewith a range of rows of the table data structure. Data
items in the data set are represented by key-value pairs. The method
includes applying a first compression to the values of the key-value
pairs in the data set to produce a first compressed output; applying a
second compression, distinct from the first compression, to the keys of
the key-value pairs in the data set to produce a second compressed
output; and applying a third compression to the first compressed output
and second compressed output to produce a first compressed output block,
wherein the third compression is distinct from the first compression and
second compression.