Selection Pushdown in Column Stores using Bit Manipulation Instructions
Yinan Li, Jianan Lu, Badrish Chandramouli
Abstract
Modern analytical database systems predominantly rely on column-oriented storage, which offers superior compression efficiency due to the nature of the columnar layout. This compression, however, creates challenges in decoding speed during query processing. Previous research has explored predicate pushdown on encoded values to avoid decoding, but these techniques are restricted to specific encoding schemes and predicates, limiting their practical use. In this paper, we propose a generic predicate pushdown approach that supports arbitrary predicates by leveraging selection pushdown to reduce decoding costs. At the core of our approach is a fast select operator capable of directly extracting selected encoded values without decoding, by using Bit Manipulation Instructions, an instruction set extension to the X86 architecture. We empirically evaluate the proposed techniques in the context of Apache Parquet using both micro-benchmarks and the TPC-H benchmark, and show that our techniques improve the query performance of Parquet by up to one order of magnitude with representative scan queries. Further experimentation using Apache Spark demonstrates speed improvements of up to 5.5X even for end-to-end queries involving complex joins.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 6a3ce448-d2c7-44d4-8edf-f256b910a4ecCited by top-tier papers9
- An Empirical Evaluation of Columnar Storage FormatsXinyu Zeng, Yulong Hui, Jiahong Shen, Andrew Pavlo et al.VLDB 2024 · 59 citations
- The FastLanes File FormatAzim Afroozeh, Peter BonczVLDB 2025 · 9 citations
- Scaling GPU-Accelerated Databases beyond GPU Memory SizeYinan Li, Bailu Ding, Ziyun Wei, Lukas M. Maas et al.VLDB 2025 · 7 citations
- GraphAr: An Efficient Storage Scheme for Graph Data in Data LakesXue Li, Weibin Zeng, Zhibin Wang, Diwen Zhu et al.VLDB 2025 · 5 citations
- Fusion: An Analytics Object Store Optimized for Query PushdownJianan Lu, Ashwini Raina, Asaf Cidon, Michael J. FreedmanASPLOS 2025 · 4 citations
Builds on3
- FlexPushdownDB: Hybrid Pushdown and Caching in a Cloud DBMSYifei Yang, Matt Youill, Matthew E. Woicik, Yizhou Liu et al.VLDB 2021 · 67 citations
- Pushing Data-Induced Predicates Through Joins in Big-Data ClustersLaurel J. Orr, Srikanth Kandula, Surajit ChaudhuriVLDB 2020 · 35 citations
- Crystal: A Unified Cache Storage System for Analytical DatabasesDominik Durner, Badrish Chandramouli, Yinan LiVLDB 2021 · 11 citations
Related papers
- UPP: Universal Predicate Pushdown to Smart StorageIpoom Jeong, Jinghan Huang, Chuxuan Hu, Dohyun Park et al.ISCA 2025 · 7 citations
- Good to the Last Bit: Data-Driven Encoding with CodecDBHao Jiang, Chunwei Liu, John Paparrizos, Andrew A. Chien et al.SIGMOD 2021 · 45 citations
- PLAQUE: Automated Predicate Learning at Query TimeYiming Lin, Sharad MehrotraSIGMOD 2024 · 2 citations
- Nested Parquet Is Flat, Why Not Use It? How To Scan Nested Data With On-the-Fly Key Generation and JoinsAlice Rey, Maximilian Rieger, Thomas NeumannSIGMOD 2025 · 1 citation
- Predicate Pushdown for Data Science PipelinesCong Yan, Yin Lin, Yeye HeSIGMOD 2023 · 15 citations
