Title
Joins on encoded and partitioned data
Abstract
Compression has historically been used to reduce the cost of storage, I/Os from that storage, and buffer pool utilization, at the expense of the CPU required to decompress data every time it is queried. However, significant additional CPU efficiencies can be achieved by deferring decompression as late in query processing as possible and performing query processing operations directly on the still-compressed data. In this paper, we investigate the benefits and challenges of performing joins on compressed (or encoded) data. We demonstrate the benefit of independently optimizing the compression scheme of each join column, even though join predicates relating values from multiple columns may require translation of the encoding of one join column into the encoding of the other. We also show the benefit of compressing \"payload\" data other than the join columns \"on the fly,\" to minimize the size of hash tables used in the join. By partitioning the domain of each column and defining separate dictionaries for each partition, we can achieve even better overall compression as well as increased flexibility in dealing with new values introduced by updates. Instead of decompressing both join columns participating in a join to resolve their different compression schemes, our system performs a light-weight mapping of only qualifying rows from one of the join columns to the encoding space of the other at run time. Consequently, join predicates can be applied directly on the compressed data. We call this procedure encoding translation. Two alternatives of encoding translation are developed and compared in the paper. We provide a comprehensive evaluation of these alternatives using product implementations of each on the TPC-H data set, and demonstrate that performing joins on encoded and partitioned data achieves both superior performance and excellent compression.
Year
DOI
Venue
2014
10.14778/2733004.2733008
PVLDB
Field
DocType
Volume
Hash join,Row,Data mining,Joins,Central processing unit,Recursive join,Computer science,Parallel computing,Block nested loop,Database,Hash table,Encoding (memory)
Journal
7
Issue
ISSN
Citations 
13
2150-8097
7
PageRank 
References 
Authors
0.52
16
19
Name
Order
Citations
PageRank
Jae-Gil Lee1129174.15
Gopi K. Attaluri21417.87
Ronald Barber315910.33
Naresh Chainani41174.67
Oliver Draese5342.99
Frederick Ho6342.65
Stratos Idreos7107963.03
Min-Soo Kim843751.12
Sam Lightstone935918.52
Guy M. Lohman102846965.94
Konstantinos Morfonios111067.39
Keshava Murthy12353.36
Ippokratis Pandis13100254.03
Lin Qiao1413310.31
Vijayshankar Raman152325239.92
Vincent Kulandai Samy1670.52
Richard Sidle1731321.33
Knut Stolze188013.08
Liping Zhang191173.66