Affiliation:
1. University of Wisconsin - Madison, Madison, WI, USA
2. Carnegie Mellon University, Pittsburgh, PA, USA
Abstract
Bit-parallel scanning techniques are characterized by their ability to accelerate compute through the process known as early pruning. Early pruning techniques iterate over the bits of each value, searching for opportunities to safely prune compute early, before processing each data value in its entirety. However, because of this iterative evaluation, the effectiveness of early pruning depends on the relative position of bits that can be used for pruning within each value. Due to this behavior, bit-parallel techniques have faced significant challenges when processing skewed data, especially when values contain many leading zeroes. This problem is further amplified by the inherent trade-off that bit-parallel techniques make between columnar scan and fetch performance: a storage layer that supports early pruning requires multiple memory accesses to fetch a single value. Thus, in the case of skewed data, bit-parallel techniques increase fetch latency without significantly improving scan performance when compared to baseline columnar implementations.
To remedy this shortcoming, we transform the values in bit-parallel columns using novel encodings. We propose the concept of forward encodings: a family of encodings that shift pruning-relevant bits closer to the most significant bit. Using this concept, we propose two particular encodings: the Data Forward Encoding and the Extended Data Forward Encoding. We demonstrate the impact of these encodings using multiple real-world datasets. Across these datasets, forward encodings improve the current state-of-the-art bit-parallel technique's scan and fetch performance in many cases by 1.4x and 1.3x, respectively.
Funder
National Science Foundation
Publisher
Association for Computing Machinery (ACM)
Reference44 articles.
1. Integrating compression and execution in column-oriented database systems
2. Apache Parquet. 2022. Apache Parquet Documentation. https://parquet.apache.org/docs/ Apache Parquet. 2022. Apache Parquet Documentation. https://parquet.apache.org/docs/
3. Business Analytics in (a) Blink;Barber Ronald;IEEE Data Engineering Bulletin,2012
4. Breaking the memory wall in MonetDB
5. Design and evaluation of storage organizations for read-optimized main memory databases