SlideShare a Scribd company logo
Enable Presto® Caching
in Uber with Alluxio
Zhongting Hu: TLM @Uber Data Analytics
Beinan Wang: Software Engineer@Alluxio
Data informs every decision at Uber
Marketplace
Pricing
Community
Operations
Growth Marketing Data Science
Compliance
Eats
Presto @ Uber-scale
12K
Monthly Active Users
400K
Queries/day
2
Data Centers
6K
Nodes
14
Clusters
50PB
HDFS data
processed/day
Presto Deployment
Workloads
Interactive
Ad hoc queries
Batch
Scheduled
Data: From On-Premise to Cloud
● What
○ BI (Application)
○ Analytics (Compute)
○ Storage
● How
○ Feature Compatibility
○ Performance Measurement
○ Security / Compliance
○ Tech Debt ?
● Why
○ Cost Efficiency
○ Usability / Scalability / Reliability
Alluxio Local Caching-- High Level Architecture
Running as a local library in presto Worker
Key <-> Value:
HDFS File Path as the key
https://prestodb.io/blog/2020/06/16/alluxio-datacaching
Presto on GCP
Key Problems -- Data
● Data Characteristics
○ Mostly partition by Date
○ Hudi incremental update on File
○ Staging Directory / Partition from ETL framework
● Cache Data Hit Ratio
○ 3+ PB distinct data access per day
○ ~10% frequently accessed data
○ ~3% hot accessed data
● Data Cache Filtering
○ Offline Query Analytics on the Table (with Partition) Access
○ Onboarding hot accessed data
Key Problems -- Apache Hadoop® HDFS Latency
● Data Nodes can create some random latency
● In real production environment, CPU walltime mostly spent in reading data
Key Problems -- HDFS Latency, Cont
● Reading from local cache have much better guaranteed latency
● Fixing a bug of Namenode listing (ListLocatedStatus API)
Key Problems -- Presto Soft Affinity Scheduling
● Compute Preferred workers
○ Split override getPreferredNodes() to return the 2 preferred workers
○ Simple Mod based algorithm
○ try to assign it one by one by looking at whether it is busy
○ If both workers are busy, then select least busy worker (with cacheable = false)
● Define Busy worker
○ Max splits per node: node-scheduler.max-splits-per-node
○ Max pending splits per task: node-scheduler.max-pending-splits-per-task
Key Problems -- Soft Affinity with Consistent Hash
● Change from simple
Mod based node
selection to consistent
hashing
● 10 virtual nodes,
original 400 nodes
cluster
Current Status and next steps
● Initial testing has been finished, great improvement on queries
● TPCDS testing with sf10k in progress
● Historical Table/Partition analytics to setup cache filters
● Dashboarding, monitoring, metadata integrations
Persistent File Level Metadata for Local Cache
● Prevent stale caching
○ The underlying data files might be changed by the 3rd party frameworks. (This situation might be
rare in hive table, but very common in hudi tables)
● Scoped quota management
○ Do you want to put a cache quota for each table?
● Metadata should be recoverable after server restart
File Level Metadata -- High Level Approach
● Implement a file level metadata store which keeps the last modified time and the scope of
each data file we cached.
● The file level metadata store should be persistent on disk so the data will not disappear
after restarting
Cache data and Metadata Structure
root_path/page_size(ulong)/bucket(uint)/file_id(str)/
timestamp1/
Page_file1 (The filename is a ulong)
Page_file2
….
Page_fileN
timestamp2/
Page_file1 (The filename is a ulong)
Page_file2
….
Page_fileN
metadata (stores FileInfo in protobuf format)
Contains timestamp and scope
Metadata Awareness -- Cache Context (New in
2.6.1)
Per Query Metrics Aggregation on Presto Side
Future Work
● Performance Tuning
● Semantic Cache
● More efficient deserialization

More Related Content

What's hot (20)

PDF
Optimizing Latency-Sensitive Queries for Presto at Facebook: A Collaboration ...
Alluxio, Inc.
 
PDF
How to Develop and Operate Cloud First Data Platforms
Alluxio, Inc.
 
PDF
Presto: SQL-on-Anything. Netherlands Hadoop User Group Meetup
Wojciech Biela
 
PDF
Speed Up Uber's Presto with Alluxio
Alluxio, Inc.
 
PDF
Powering Interactive Analytics with Alluxio and Presto
Alluxio, Inc.
 
PDF
Alluxio 2.0 & Near Real-time Big Data Platform w/ Spark & Alluxio
Alluxio, Inc.
 
PDF
Best Practices for Using Alluxio with Spark
Alluxio, Inc.
 
PDF
Presto Summit 2018 - 09 - Netflix Iceberg
kbajda
 
PDF
The Data Lake Engine Data Microservices in Spark using Apache Arrow Flight
Databricks
 
PDF
Apache Iceberg - A Table Format for Hige Analytic Datasets
Alluxio, Inc.
 
PDF
Running MySQL on Linux
Great Wide Open
 
PDF
Accelerate Analytics and ML in the Hybrid Cloud Era
Alluxio, Inc.
 
PDF
Presto Summit 2018 - 04 - Netflix Containers
kbajda
 
PPTX
Performance Tuning Cheat Sheet for MongoDB
Severalnines
 
PDF
Iceberg: a fast table format for S3
DataWorks Summit
 
PDF
Presto on Alluxio Hands-On Lab
Alluxio, Inc.
 
PPTX
Migration to ClickHouse. Practical guide, by Alexander Zaitsev
Altinity Ltd
 
PPTX
Need for Time series Database
Pramit Choudhary
 
PDF
Сергей Сверчков и Виталий Руденя. Choosing a NoSQL database
Volha Banadyseva
 
PDF
Data Analysis with TensorFlow in PostgreSQL
EDB
 
Optimizing Latency-Sensitive Queries for Presto at Facebook: A Collaboration ...
Alluxio, Inc.
 
How to Develop and Operate Cloud First Data Platforms
Alluxio, Inc.
 
Presto: SQL-on-Anything. Netherlands Hadoop User Group Meetup
Wojciech Biela
 
Speed Up Uber's Presto with Alluxio
Alluxio, Inc.
 
Powering Interactive Analytics with Alluxio and Presto
Alluxio, Inc.
 
Alluxio 2.0 & Near Real-time Big Data Platform w/ Spark & Alluxio
Alluxio, Inc.
 
Best Practices for Using Alluxio with Spark
Alluxio, Inc.
 
Presto Summit 2018 - 09 - Netflix Iceberg
kbajda
 
The Data Lake Engine Data Microservices in Spark using Apache Arrow Flight
Databricks
 
Apache Iceberg - A Table Format for Hige Analytic Datasets
Alluxio, Inc.
 
Running MySQL on Linux
Great Wide Open
 
Accelerate Analytics and ML in the Hybrid Cloud Era
Alluxio, Inc.
 
Presto Summit 2018 - 04 - Netflix Containers
kbajda
 
Performance Tuning Cheat Sheet for MongoDB
Severalnines
 
Iceberg: a fast table format for S3
DataWorks Summit
 
Presto on Alluxio Hands-On Lab
Alluxio, Inc.
 
Migration to ClickHouse. Practical guide, by Alexander Zaitsev
Altinity Ltd
 
Need for Time series Database
Pramit Choudhary
 
Сергей Сверчков и Виталий Руденя. Choosing a NoSQL database
Volha Banadyseva
 
Data Analysis with TensorFlow in PostgreSQL
EDB
 

Similar to Enabling Presto Caching at Uber with Alluxio (20)

PDF
Big data should be simple
Dori Waldman
 
PDF
How the Development Bank of Singapore solves on-prem compute capacity challen...
Alluxio, Inc.
 
PDF
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Alluxio, Inc.
 
PDF
hbaseconasia2017: Building online HBase cluster of Zhihu based on Kubernetes
HBaseCon
 
PDF
20140120 presto meetup_en
Ogibayashi
 
PDF
Apache Hadoop 3.0 Community Update
DataWorks Summit
 
PDF
Hadoop 3 @ Hadoop Summit San Jose 2017
Junping Du
 
PDF
AI/ML Infra Meetup | Balancing Cost, Performance, and Scale - Running GPU/CPU...
Alluxio, Inc.
 
PDF
2021.02 new in Ceph Pacific Dashboard
Ceph Community
 
PDF
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio, Inc.
 
PPTX
Webinar: Three Reasons Why NAS is No Good for AI and Machine Learning
Storage Switzerland
 
PDF
DatEngConf SF16 - Apache Kudu: Fast Analytics on Fast Data
Hakka Labs
 
PPTX
ApacheCon 2022_ Large scale unification of file format.pptx
XinliShang1
 
PDF
AI/ML Infra Meetup | Optimizing ML Data Access with Alluxio: Preprocessing, ...
Alluxio, Inc.
 
PPTX
Bootstrapping state in Apache Flink
DataWorks Summit
 
PDF
Enabling Presto to handle massive scale at lightning speed
Shubham Tagra
 
PDF
Speed Up Presto at Uber with Alluxio Caching
Alluxio, Inc.
 
PDF
Netflix Open Source Meetup Season 4 Episode 2
aspyker
 
PDF
The state of SQL-on-Hadoop in the Cloud
DataWorks Summit/Hadoop Summit
 
PDF
Presto@Uber
Zhenxiao Luo
 
Big data should be simple
Dori Waldman
 
How the Development Bank of Singapore solves on-prem compute capacity challen...
Alluxio, Inc.
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Alluxio, Inc.
 
hbaseconasia2017: Building online HBase cluster of Zhihu based on Kubernetes
HBaseCon
 
20140120 presto meetup_en
Ogibayashi
 
Apache Hadoop 3.0 Community Update
DataWorks Summit
 
Hadoop 3 @ Hadoop Summit San Jose 2017
Junping Du
 
AI/ML Infra Meetup | Balancing Cost, Performance, and Scale - Running GPU/CPU...
Alluxio, Inc.
 
2021.02 new in Ceph Pacific Dashboard
Ceph Community
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio, Inc.
 
Webinar: Three Reasons Why NAS is No Good for AI and Machine Learning
Storage Switzerland
 
DatEngConf SF16 - Apache Kudu: Fast Analytics on Fast Data
Hakka Labs
 
ApacheCon 2022_ Large scale unification of file format.pptx
XinliShang1
 
AI/ML Infra Meetup | Optimizing ML Data Access with Alluxio: Preprocessing, ...
Alluxio, Inc.
 
Bootstrapping state in Apache Flink
DataWorks Summit
 
Enabling Presto to handle massive scale at lightning speed
Shubham Tagra
 
Speed Up Presto at Uber with Alluxio Caching
Alluxio, Inc.
 
Netflix Open Source Meetup Season 4 Episode 2
aspyker
 
The state of SQL-on-Hadoop in the Cloud
DataWorks Summit/Hadoop Summit
 
Presto@Uber
Zhenxiao Luo
 
Ad

More from Alluxio, Inc. (20)

PDF
Introduction to Apache Iceberg™ & Tableflow
Alluxio, Inc.
 
PDF
Optimizing Tiered Storage for Low-Latency Real-Time Analytics at AI Scale
Alluxio, Inc.
 
PDF
Meet in the Middle: Solving the Low-Latency Challenge for Agentic AI
Alluxio, Inc.
 
PDF
From Data Preparation to Inference: How Alluxio Speeds Up AI
Alluxio, Inc.
 
PDF
Best Practice for LLM Serving in the Cloud
Alluxio, Inc.
 
PDF
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Alluxio, Inc.
 
PDF
How Coupang Leverages Distributed Cache to Accelerate ML Model Training
Alluxio, Inc.
 
PDF
Alluxio Webinar | Inside Deepseek 3FS: A Deep Dive into AI-Optimized Distribu...
Alluxio, Inc.
 
PDF
AI/ML Infra Meetup | Building Production Platform for Large-Scale Recommendat...
Alluxio, Inc.
 
PDF
AI/ML Infra Meetup | How Uber Optimizes LLM Training and Finetune
Alluxio, Inc.
 
PDF
AI/ML Infra Meetup | Deployment, Discovery and Serving of LLMs at Uber Scale
Alluxio, Inc.
 
PDF
Alluxio Webinar | What’s New in Alluxio AI: 3X Faster Checkpoint File Creatio...
Alluxio, Inc.
 
PDF
AI/ML Infra Meetup | A Faster and More Cost Efficient LLM Inference Stack
Alluxio, Inc.
 
PDF
AI/ML Infra Meetup | RAYvolution - The Last Mile: Mastering AI Deployment wit...
Alluxio, Inc.
 
PDF
Alluxio Webinar | Accelerate AI: Alluxio 101
Alluxio, Inc.
 
PDF
AI/ML Infra Meetup | The power of Ray in the era of LLM and multi-modality AI
Alluxio, Inc.
 
PDF
AI/ML Infra Meetup | Exploring Distributed Caching for Faster GPU Training wi...
Alluxio, Inc.
 
PDF
AI/ML Infra Meetup | Big Data and AI, Zoom Developers
Alluxio, Inc.
 
PDF
AI/ML Infra Meetup | TorchTitan, One-stop PyTorch native solution for product...
Alluxio, Inc.
 
PDF
Alluxio Webinar | Model Training Across Regions and Clouds – Challenges, Solu...
Alluxio, Inc.
 
Introduction to Apache Iceberg™ & Tableflow
Alluxio, Inc.
 
Optimizing Tiered Storage for Low-Latency Real-Time Analytics at AI Scale
Alluxio, Inc.
 
Meet in the Middle: Solving the Low-Latency Challenge for Agentic AI
Alluxio, Inc.
 
From Data Preparation to Inference: How Alluxio Speeds Up AI
Alluxio, Inc.
 
Best Practice for LLM Serving in the Cloud
Alluxio, Inc.
 
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Alluxio, Inc.
 
How Coupang Leverages Distributed Cache to Accelerate ML Model Training
Alluxio, Inc.
 
Alluxio Webinar | Inside Deepseek 3FS: A Deep Dive into AI-Optimized Distribu...
Alluxio, Inc.
 
AI/ML Infra Meetup | Building Production Platform for Large-Scale Recommendat...
Alluxio, Inc.
 
AI/ML Infra Meetup | How Uber Optimizes LLM Training and Finetune
Alluxio, Inc.
 
AI/ML Infra Meetup | Deployment, Discovery and Serving of LLMs at Uber Scale
Alluxio, Inc.
 
Alluxio Webinar | What’s New in Alluxio AI: 3X Faster Checkpoint File Creatio...
Alluxio, Inc.
 
AI/ML Infra Meetup | A Faster and More Cost Efficient LLM Inference Stack
Alluxio, Inc.
 
AI/ML Infra Meetup | RAYvolution - The Last Mile: Mastering AI Deployment wit...
Alluxio, Inc.
 
Alluxio Webinar | Accelerate AI: Alluxio 101
Alluxio, Inc.
 
AI/ML Infra Meetup | The power of Ray in the era of LLM and multi-modality AI
Alluxio, Inc.
 
AI/ML Infra Meetup | Exploring Distributed Caching for Faster GPU Training wi...
Alluxio, Inc.
 
AI/ML Infra Meetup | Big Data and AI, Zoom Developers
Alluxio, Inc.
 
AI/ML Infra Meetup | TorchTitan, One-stop PyTorch native solution for product...
Alluxio, Inc.
 
Alluxio Webinar | Model Training Across Regions and Clouds – Challenges, Solu...
Alluxio, Inc.
 
Ad

Recently uploaded (20)

PDF
Supabase Meetup: Build in a weekend, scale to millions
Carlo Gilmar Padilla Santana
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PDF
Enhancing Security in VAST: Towards Static Vulnerability Scanning
ESUG
 
PDF
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
PPTX
Farrell__10e_ch04_PowerPoint.pptx Programming Logic and Design slides
bashnahara11
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
PDF
Salesforce Pricing Update 2025: Impact, Strategy & Smart Cost Optimization wi...
GetOnCRM Solutions
 
PPTX
SAP Public Cloud PPT , SAP PPT, Public Cloud PPT
sonawanekundan2024
 
PDF
AWS_Agentic_AI_in_Indian_BFSI_A_Strategic_Blueprint_for_Customer.pdf
siddharthnetsavvies
 
PDF
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
PDF
Troubleshooting Virtual Threads in Java!
Tier1 app
 
PDF
AI Software Engineering based on Multi-view Modeling and Engineering Patterns
Hironori Washizaki
 
PPTX
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
PDF
Step-by-Step Guide to Install SAP HANA Studio | Complete Installation Tutoria...
SAP Vista, an A L T Z E N Company
 
PDF
Why Are More Businesses Choosing Partners Over Freelancers for Salesforce.pdf
Cymetrix Software
 
PDF
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
PDF
Virtual Threads in Java: A New Dimension of Scalability and Performance
Tier1 app
 
PDF
SAP GUI Installation Guide for Windows | Step-by-Step Setup for SAP Access
SAP Vista, an A L T Z E N Company
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
Supabase Meetup: Build in a weekend, scale to millions
Carlo Gilmar Padilla Santana
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
Enhancing Security in VAST: Towards Static Vulnerability Scanning
ESUG
 
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
Farrell__10e_ch04_PowerPoint.pptx Programming Logic and Design slides
bashnahara11
 
Presentation about variables and constant.pptx
kr2589474
 
Salesforce Pricing Update 2025: Impact, Strategy & Smart Cost Optimization wi...
GetOnCRM Solutions
 
SAP Public Cloud PPT , SAP PPT, Public Cloud PPT
sonawanekundan2024
 
AWS_Agentic_AI_in_Indian_BFSI_A_Strategic_Blueprint_for_Customer.pdf
siddharthnetsavvies
 
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
Troubleshooting Virtual Threads in Java!
Tier1 app
 
AI Software Engineering based on Multi-view Modeling and Engineering Patterns
Hironori Washizaki
 
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
Step-by-Step Guide to Install SAP HANA Studio | Complete Installation Tutoria...
SAP Vista, an A L T Z E N Company
 
Why Are More Businesses Choosing Partners Over Freelancers for Salesforce.pdf
Cymetrix Software
 
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
Virtual Threads in Java: A New Dimension of Scalability and Performance
Tier1 app
 
SAP GUI Installation Guide for Windows | Step-by-Step Setup for SAP Access
SAP Vista, an A L T Z E N Company
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 

Enabling Presto Caching at Uber with Alluxio

  • 1. Enable Presto® Caching in Uber with Alluxio Zhongting Hu: TLM @Uber Data Analytics Beinan Wang: Software Engineer@Alluxio
  • 2. Data informs every decision at Uber Marketplace Pricing Community Operations Growth Marketing Data Science Compliance Eats
  • 3. Presto @ Uber-scale 12K Monthly Active Users 400K Queries/day 2 Data Centers 6K Nodes 14 Clusters 50PB HDFS data processed/day
  • 6. Data: From On-Premise to Cloud ● What ○ BI (Application) ○ Analytics (Compute) ○ Storage ● How ○ Feature Compatibility ○ Performance Measurement ○ Security / Compliance ○ Tech Debt ? ● Why ○ Cost Efficiency ○ Usability / Scalability / Reliability
  • 7. Alluxio Local Caching-- High Level Architecture Running as a local library in presto Worker Key <-> Value: HDFS File Path as the key https://prestodb.io/blog/2020/06/16/alluxio-datacaching
  • 9. Key Problems -- Data ● Data Characteristics ○ Mostly partition by Date ○ Hudi incremental update on File ○ Staging Directory / Partition from ETL framework ● Cache Data Hit Ratio ○ 3+ PB distinct data access per day ○ ~10% frequently accessed data ○ ~3% hot accessed data ● Data Cache Filtering ○ Offline Query Analytics on the Table (with Partition) Access ○ Onboarding hot accessed data
  • 10. Key Problems -- Apache Hadoop® HDFS Latency ● Data Nodes can create some random latency ● In real production environment, CPU walltime mostly spent in reading data
  • 11. Key Problems -- HDFS Latency, Cont ● Reading from local cache have much better guaranteed latency ● Fixing a bug of Namenode listing (ListLocatedStatus API)
  • 12. Key Problems -- Presto Soft Affinity Scheduling ● Compute Preferred workers ○ Split override getPreferredNodes() to return the 2 preferred workers ○ Simple Mod based algorithm ○ try to assign it one by one by looking at whether it is busy ○ If both workers are busy, then select least busy worker (with cacheable = false) ● Define Busy worker ○ Max splits per node: node-scheduler.max-splits-per-node ○ Max pending splits per task: node-scheduler.max-pending-splits-per-task
  • 13. Key Problems -- Soft Affinity with Consistent Hash ● Change from simple Mod based node selection to consistent hashing ● 10 virtual nodes, original 400 nodes cluster
  • 14. Current Status and next steps ● Initial testing has been finished, great improvement on queries ● TPCDS testing with sf10k in progress ● Historical Table/Partition analytics to setup cache filters ● Dashboarding, monitoring, metadata integrations
  • 15. Persistent File Level Metadata for Local Cache ● Prevent stale caching ○ The underlying data files might be changed by the 3rd party frameworks. (This situation might be rare in hive table, but very common in hudi tables) ● Scoped quota management ○ Do you want to put a cache quota for each table? ● Metadata should be recoverable after server restart
  • 16. File Level Metadata -- High Level Approach ● Implement a file level metadata store which keeps the last modified time and the scope of each data file we cached. ● The file level metadata store should be persistent on disk so the data will not disappear after restarting
  • 17. Cache data and Metadata Structure root_path/page_size(ulong)/bucket(uint)/file_id(str)/ timestamp1/ Page_file1 (The filename is a ulong) Page_file2 …. Page_fileN timestamp2/ Page_file1 (The filename is a ulong) Page_file2 …. Page_fileN metadata (stores FileInfo in protobuf format) Contains timestamp and scope
  • 18. Metadata Awareness -- Cache Context (New in 2.6.1)
  • 19. Per Query Metrics Aggregation on Presto Side
  • 20. Future Work ● Performance Tuning ● Semantic Cache ● More efficient deserialization