Correlation maps: A compressed access method for exploiting soft functional dependencies

In relational query processing, there are generally two choices for access paths when performing a predicate lookup for which no clustered index is available. One option is to use an unclustered index. Another is to perform a complete sequential scan of the table. Many analytical workloads do not be...

Full description

Bibliographic Details
Main Authors: Kimura, Hideaki (Author), Huo, George (Author), Rasin, Alexander (Author), Zdonik, Stanley B. (Author), Madden, Samuel R. (Contributor)
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory (Contributor), Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science (Contributor)
Format: Article
Language:English
Published: Association for Computing Machinery (ACM), 2014-09-26T13:17:21Z.
Subjects:
Online Access:Get fulltext
LEADER 02724 am a22002293u 4500
001 90382
042 |a dc 
100 1 0 |a Kimura, Hideaki  |e author 
100 1 0 |a Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory  |e contributor 
100 1 0 |a Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science  |e contributor 
100 1 0 |a Madden, Samuel R.  |e contributor 
700 1 0 |a Huo, George  |e author 
700 1 0 |a Rasin, Alexander  |e author 
700 1 0 |a Zdonik, Stanley B.  |e author 
700 1 0 |a Madden, Samuel R.  |e author 
245 0 0 |a Correlation maps: A compressed access method for exploiting soft functional dependencies 
260 |b Association for Computing Machinery (ACM),   |c 2014-09-26T13:17:21Z. 
856 |z Get fulltext  |u http://hdl.handle.net/1721.1/90382 
520 |a In relational query processing, there are generally two choices for access paths when performing a predicate lookup for which no clustered index is available. One option is to use an unclustered index. Another is to perform a complete sequential scan of the table. Many analytical workloads do not benefit from the availability of unclustered indexes; the cost of random disk I/O becomes prohibitive for all but the most selective queries. It has been observed that a secondary index on an unclustered attribute can perform well under certain conditions if the unclustered attribute is correlated with a clustered index attribute [4]. The clustered index will co-locate values and the correlation will localize access through the unclustered attribute to a subset of the pages. In this paper, we show that in a real application (SDSS) and widely used benchmark (TPC-H), there exist many cases of attribute correlation that can be exploited to accelerate queries. We also discuss a tool that can automatically suggest useful pairs of correlated attributes. It does so using an analytical cost model that we developed, which is novel in its awareness of the effects of clustering and correlation. Furthermore, we propose a data structure called a Correlation Map (CM) that expresses the mapping between the correlated attributes, acting much like a secondary index. The paper also discusses how bucketing on the domains of both attributes in the correlated attribute pair can dramatically reduce the size of the CM to be potentially orders of magnitude smaller than that of a secondary B+Tree index. This reduction in size allows us to create a large number of CMs that improve performance for a wide range of queries. The small size also reduces maintenance costs as we demonstrate experimentally. 
546 |a en_US 
655 7 |a Article 
773 |t Proceedings of the VLDB Endowment