Metadata Caching in Presto: Towards Fast Data Processing
Authors: Beinan Wang, Chunxu Tang, Rongrong Zhong, Bin Fan, Yi Wang, Jasmine Wang, Shouwei Chen, Bowen Ding, Lu Zhang
AI-generated Key Points
- Presto is an open-source distributed SQL query engine for OLAP
- Presto has gained significant popularity in large-scale data analytics
- Parsing column-oriented data files in Presto consumes a considerable amount of CPU resources
- The authors propose a metadata caching layer as a solution to this issue
- The caching layer is built on top of the Alluxio SDK cache and integrated into each Presto worker node
- Two methods of caching are offered: caching decompressed metadata bytes and caching deserialized metadata objects
- Experiments using the TPC-DS benchmark show that both methods can reduce CPU consumption during queries
- The first method reduces CPU consumption by 10%-20% when the cache is warm
- The second method achieves even greater reductions, reducing CPU usage by 20%-40%
- This approach improves data processing efficiency in Presto and enables handling larger volumes of analytical data effectively.
Abstract: Presto is an open-source distributed SQL query engine for OLAP, aiming for "SQL on everything". Since open-sourced in 2013, Presto has been consistently gaining popularity in large-scale data analytics and attracting adoption from a wide range of enterprises. From the development and operation of Presto, we witnessed a significant amount of CPU consumption on parsing column-oriented data files in Presto worker nodes. This blocks some companies, including Meta, from increasing analytical data volumes. In this paper, we present a metadata caching layer, built on top of the Alluxio SDK cache and incorporated in each Presto worker node, to cache the intermediate results in file parsing. The metadata cache provides two caching methods: caching the decompressed metadata bytes from raw data files and caching the deserialized metadata objects. Our evaluation of the TPC-DS benchmark on Presto demonstrates that when the cache is warm, the first method can reduce the query's CPU consumption by 10%-20%, whereas the second method can minimize the CPU usage by 20%-40%.
Tools for this paper
Ask questions about this paper to our AI assistant
You can also chat with multiple papers at once here.
⚠The license of the paper does not allow us to build upon its content and the AI assistant only knows about the paper metadata rather than the full article.
The previous summary was created more than a year ago and can be re-run (if necessary) by clicking on the Run button below.
⚠The license of this specific paper does not allow us to build upon its content and the summarizing tools will be run using the paper metadata rather than the full article. However, it still does a good job, and you can also try our tools on papers with more open licenses.
Similar papers summarized with our AI tools
Navigate through even more similar papers through a
tree representationLook for similar papers (in beta version)
We compare the title and abstract with papers indexed in our database. For arXiv papers, we search within the same category; for DOI and other sources, we search across sources and subjects. You can rerun the search as our database grows.
Disclaimer: The AI-based summarization tool and virtual assistant provided on this website may not always provide accurate and complete summaries or responses. We encourage you to carefully review and evaluate the generated content to ensure its quality and relevance to your needs.