Pruning in Snowflake: Working Smarter, Not Harder
Pruning in Snowflake: Working Smarter, Not Harder
Modern cloud-based data analytics systems must efficiently process petabytes of data residing on cloud storage. A key optimization technique in state-of-the-art systems like Snowflake is partition pruning - skipping chunks of data that do not contain relevant information for computing query results. While partition pruning based on query predicates is a well-established technique, we present new pruning techniques that extend the scope of partition pruning to LIMIT, top-k, and JOIN operations, significantly expanding the opportunities for pruning across diverse query types. We detail the implementation of each method and examine their impact on real-world workloads. Our analysis of Snowflake's production workloads reveals that real-world analytical queries exhibit much higher selectivity than commonly assumed, yielding effective partition pruning and highlighting the need for more realistic benchmarks. We show that we can harness high selectivity by utilizing min/max metadata available in modern data analytics systems and data lake formats like Apache Iceberg, reducing the number of processed micro-partitions by 99.4% across the Snowflake data platform.
Andreas Zimmerer、Damien Dam、Jan Kossmann、Juliane Waack、Ismail Oukid、Andreas Kipf
计算技术、计算机技术
Andreas Zimmerer,Damien Dam,Jan Kossmann,Juliane Waack,Ismail Oukid,Andreas Kipf.Pruning in Snowflake: Working Smarter, Not Harder[EB/OL].(2025-04-15)[2025-04-28].https://arxiv.org/abs/2504.11540.点此复制
评论