How to juggle columns: an entropy-based approach for table compression

  • Authors:
  • Marcus Paradies;Christian Lemke;Hasso Plattner;Wolfgang Lehner;Kai-Uwe Sattler;Alexander Zeier;Jens Krueger

  • Affiliations:
  • SAP AG, Walldorf, Germany;SAP AG, Walldorf, Germany;Hasso-Plattner-Institute, Potsdam, Germany;SAP AG, Walldorf, Germany;Ilmenau University of Technology, Ilmenau, Germany;Hasso-Plattner-Institute, Potsdam, Germany;Hasso-Plattner-Institute, Potsdam, Germany

  • Venue:
  • Proceedings of the Fourteenth International Database Engineering & Applications Symposium
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many relational databases exhibit complex dependencies between data attributes, caused either by the nature of the underlying data or by explicitly denormalized schemas. In data warehouse scenarios, calculated key figures may be materialized or hierarchy levels may be held within a single dimension table. Such column correlations and the resulting data redundancy may result in additional storage requirements. They may also result in bad query performance if inappropriate independence assumptions are made during query compilation. In this paper, we tackle the specific problem of detecting functional dependencies between columns to improve the compression rate for column-based database systems, which both reduces main memory consumption and improves query performance. Although a huge variety of algorithms have been proposed for detecting column dependencies in databases, we maintain that increased data volumes and recent developments in hardware architectures demand novel algorithms with much lower runtime overhead and smaller memory footprint. Our novel approach is based on entropy estimations and exploits a combination of sampling and multiple heuristics to render it applicable for a wide range of use cases. We demonstrate the quality of our approach by means of an implementation within the SAP NetWeaver Business Warehouse Accelerator. Our experiments indicate that our approach scales well with the number of columns and produces reliable dependence structure information. This both reduces memory consumption and improves performance for nontrivial queries.