SlideShare a Scribd company logo
1 of 35
Download to read offline
Building a High-performance Data Lake
Analytics Engine at Alibaba Cloud


with Presto+Alluxio
Zhenlin Ma
⽬录
Introduction to DLA
01
02
03
DLA Presto Architecture
Optimizations on OSS Data Source
Introduction to DLA
Data Lake Analytics (DLA) is a large scale serverless data federation service on Alibaba Cloud.
Serverless Data Federation Database-like User Experience High performance
列存表
Data Lake Storag
e

(OSS)
One Click


Data Lake
DB - Data Streaming - Data
Spark


Streaming
LogService Application Logs
Serverless


Spark


ETL&ML
Serverless


Presto
Metadata


Management
Auto


Discovery
Archived


Transactional Data
DW
DMS APP QuickBI
Data Lake Engin
e

(DLA)
Introduction to DLA
DLA Presto
Multi-Coordinator
s

Lake Formation:One Click Data Warehouse, Metadata Discover
y

Enterprise level Access Contro
l

Cost:Billing methods based on the volume of scanned data, or the number of compute units used.


MySQL protocol support


Caching


Data sources:More than15 types of data source is supported,including Alibaba Cloud OSS, ADB,
Table Store , etc.


Billing methods
Contents
Introduction to DLA
01
02
03 Optimizations on OSS Data Source
DLA Presto Architecture
Oracle
DLA Presto Architecture
FrontNode
Uni
fi
ed


Meta


Service
OSS MySQL SQLServer …
TableStore
MaxCompute ElasticSearch Druid
Worker Worker Worker
Coordinator
Default Cluster
Worker Worker Worker
Coordinator
CU Cluster
Presto Clusters
PostgreSQL
SQL Dialect Transformation/Submit Query/Fetch Result
TableScan/Pushdown
Met
a

Operation
MySQL Protocol
Multiple Charging Model Unified Meta & Access Control
About Presto
Presto is an open source distributed SQL query engine for running interactive analytic queries
against data sources of all sizes ranging from gigabytes to petabytes.
Full Memory Processing Pluggable Connectors Great Community
Full SQL Semantics
Blazing fast, suitable for adhoc 

queries, data exploration, and 

lightweight ETL.
Compliant with ANSI
SQL, don’t need to worry
that any SQL syntax not
supported.
Challenges to DLA Presto
Oracle
FrontNode
Uni
fi
ed


Meta


Service
OSS MySQL SQLServer …
TableStore
MaxCompute ElasticSearch Druid
Worker Worker Worker
Coordinator
Default Cluster
Worker Worker Worker
Coordinator
CU Cluster
Presto Clusters
PostgreSQL
SQL Dialect Transformation/Submit Query/Fetch Result
TableScan/Pushdown
Met
a

Operation
Challenges to DLA Presto
Oracle
FrontNode
Uni
fi
ed


Meta


Service
OSS MySQL SQLServer …
TableStore
MaxCompute ElasticSearch Druid
Worker Worker Worker
Coordinator
Default Cluster
Worker Worker Worker
Coordinator
CU Cluster
Presto Clusters
PostgreSQL
SQL Dialect Transformation/Submit Query/Fetch Result
TableScan/Pushdown
Met
a

Operation
Request costs
Bandwidth limit
Performance
pulling large
data Latency to get
metadata/partitions
Performance
pulling large data
Pressure on
data source
small data big data
update frequently
update infrequently
OTS
OSS
ODPS
?
Mysql
Redis
Mongodb
PostgresSQL
…
Big Data/NoSQL: Performance of pulling large data
Online System:Pressure on data source
Big Data/O
ffl
ine:Performance of pulling large data
Challenges to DLA Prest
o

-Analysis
small data big data
update frequently
update not frequently
OTS
OSS
ODPS
?
Mysql
Redis
Mongodb
PostgresSQL
…
Big Data/NoSQL: Performance of pulling large data
Online System:Pressure on data source
Big Data/O
ffl
ine:Performance of pulling large data
Concurrency limitation
Avoid reading master
Challenges to DLA Prest
o

-Analysis
small data big data
update frequently
update not frequently
OTS
OSS
ODPS
?
Mysql
Redis
Mongodb
PostgresSQL
…
Big Data/NoSQL: Performance of pulling large data
Online System:Pressure on data source
Big Data/O
ffl
ine:Performance of pulling large data
Concurrency limitation
Avoid reading master
Caching
Challenges to DLA Prest
o

-Analysis
small data big data
update frequently
update not frequently
OTS
OSS
ODPS
?
Mysql
Redis
Mongodb
PostgresSQL
…
Big Data/NoSQL: Performance of pulling large data
Online System:Pressure on data source
Big Data/O
ffl
ine:Performance of pulling large data
Concurrency limitation
Avoid reading master
Caching
Pushdown
Challenges to DLA Prest
o

-Analysis
Oracle
Solutions
FrontNode
统⼀元
数据管
理
OSS MySQL SQLServer …
TableStore
MaxCompute ElasticSearch Druid
Worker Worker Worker
Coordinator
Default Cluster
Worker Worker Worker
Coordinator
CU Cluster
Presto Clusters
PostgreSQL
SQL改写 / 提交查询 / 取查询结果
TableScan/Pushdown
元数据操作
Decrease
Request count
Alluxio Data
Cache
Data Cache


Partition meta cache


splits cache


对源库影响
对源库影响
对源库影响
Limit Concurrency


Read from slavery


One Click Data Lake
Pushdown
Contents
Introduction to DLA
01
02
03 Optimizations on OSS Data Source
DLA Presto Architecture
DLA Presto Optimizations on OSS Data Source
Decreasing OSS API request count
Alluxio Data Cache
Decreasing OSS API request count
Background


Users report that the OSS Calling fees are high, even higher than DLA
fees


OSS Calling fees = Actual calls × Unit price per 10,000 calls/10000
Hadoop FileSystem
API Invocation
Alibaba Cloud
OSS API Invocation
read
read
…
seek(100)
read
seek(128MB)
read
#1 read as much data as possible
with 1 request
small seek, continue reading
big seek, start a new request
continue reading
#2 read continue reading
…
1.Reduced API call count down to 1/10 for data stored in Text format.


2.Reduced API call count down to 1/3 for data stored in ORC/Parquet format.


3.Saves cost for about 60% to 90% on average.
Decreasing OSS API request count
Fully tested in
Facebook/
Netease/JD
production
environment
Alluxio Data Cach
e

-Why Alluxio
Proven Solution Efficiency Monitoring
High
concurrency


Asynchronous
write cache
Easy to
monitor and
diagnosis
Alluxio Data Cach
e

-Local Cache v.s. Cluster
OSS
Worker Worker Worker
Coordinator
Presto Cluster
Worker Worker Worker
Master
Alluxio Cluster
read alluxio
on cache miss cache to alluxio
return data
Presto Cluster
Alluxio Data Cach
e

-Local Cache
Alluxio data cache is a library
residing in the Presto worker.


Cache data is stored in local
Disk.
SOFT_AFFINITY


Makes the best attempt to assign the same split to the same worker when doing the
scheduling


Preferred(0) -> Preferred(1) -> LeastBusy
Alluxio Data Cach
e

-Local Cache
Preferred(1)
Preferred(0) Preferred(0)
Preferred(0)
LeastBusy
Alluxio Data Cach
e

-Cluster
OSS
Worker Worker Worker
Coordinator
Presto Cluster
Worker Worker Worker
Master
Alluxio Cluster
read alluxio
on cache miss cache to alluxio
return data
Alluxio is a distributed
caching service to
Presto


Short-circuit read
supported
Alluxio Data Cach
e

-Local Cache v.s. Cluster
OSS
Worker Worker Worker
Coordinator
Presto Cluster
Worker Worker Worker
Master
Alluxio Cluster
read alluxio
on cache miss cache to alluxio
return data
Presto Cluster
Local Cache v.s.Cluster


Data closer to compute node


No extra nodes needed
Local Cache v.s. Collocated Cluster


Easy to maintanance


No resource waste if user didn’t has OSS data source
Local Cache v.s. Cluster


Data closer to compute node


No extra resource needed


Local Cache v.s. Collocated Cluster


Easy to maintenance


No resource waste if user didn’t has OSS
data source
Alluxio Data Cach
e

-Local Cache v.s. Cluster
Alluxio Data Cach
e

-Improvements in DLA
Sceneries of Community Solution v.s. Sceneries of DLA


Queries mainly on hive data sources v.s. Can’t assume that for a specific user


SSD v.s. Ultra cloud disk
Challenges


Performance improvement in the statistical sense may not be perceivable by
users, necessary to increase cache hit ratio for every single query


Low disk throughput affects the acceleration effect
Increase cache hit ratio for every single query Increase disk throughput
Alluxio Data Cach
e

-Improvements in DLA
Increase cache hit ratio


Analysis


SOFT_AFFINITY:Preferred(0) -> Preferred(1) ->
LeastBusy


Key is to submit more splits to Preferred Nodes


node-scheduler.max-splits-per-node


Increase node-scheduler.max-splits-per-node


Effect:Cache hit ratio increased


Side effect:load for workers become
Unbalanced
4 splits 1 split 1 split
split1
split2
split3 split5 split6
split4
Alluxio Data Cach
e

-Improvements in DLA
Increase cache hit ratio


Unbalanced load


HiveSplit Preferred Nodes:
path.hashCode() % numWorkers


Big file generate more splits, Cause the
corresponding worker getting more load


Need to submit splits of a big file to
different nodes


(path.hashCode() + (start / (fileSize /
numWorkers)))) % numWorkers
2 splits 2 splits 2splits
split4 split5
split1
split2
split3
split4
Alluxio Data Cach
e

-Improvements in DLA
Improve disk throughput


20GB Ultra disk throughput:


Write109MB/s Read 108MB/s


Multiple disks


6 ultra disks performance: 600MB/s read/write


Implement


page.path = $root/$page_path


=>


page.path = $roots[page.hash % roots.size]/$page_path
 Environment:


Cluster:16cpu64GB * 16 nodes


Disk:20GB ultra disk * 6


Data:TPCH-1TB / ORC / Stored at OSS


Queries Chosen from TPCH:


Include scan to table lineitem(the biggest table)


without join between three or more tables
Alluxio Data Cach
e

-Performance
 Test Result
Alluxio Data Cach
e

-Performance
Future Plan
Alluxio Cluster


Shared by multi users


Suitable when Presto auto scaling


Improvements for OSS Data Source


Fragment Result Cache


Query Result Cache


Improve performance of querying small files
More Information about DLA
• DLA Homepage:https://www.aliyun.com/product/datalakeanalytics
• DLA SQL Introduction:https://developer.aliyun.com/article/770819
We are hiring :)

More Related Content

What's hot

What's hot (20)

Alluxio 2.0 & Near Real-time Big Data Platform w/ Spark & Alluxio
Alluxio 2.0 & Near Real-time Big Data Platform w/ Spark & AlluxioAlluxio 2.0 & Near Real-time Big Data Platform w/ Spark & Alluxio
Alluxio 2.0 & Near Real-time Big Data Platform w/ Spark & Alluxio
 
Alluxio-FUSE as a data access layer for Dask
Alluxio-FUSE as a data access layer for DaskAlluxio-FUSE as a data access layer for Dask
Alluxio-FUSE as a data access layer for Dask
 
StorageQuery: federated querying on object stores, powered by Alluxio and Presto
StorageQuery: federated querying on object stores, powered by Alluxio and PrestoStorageQuery: federated querying on object stores, powered by Alluxio and Presto
StorageQuery: federated querying on object stores, powered by Alluxio and Presto
 
Hybrid data lake on google cloud with alluxio and dataproc
Hybrid data lake on google cloud  with alluxio and dataprocHybrid data lake on google cloud  with alluxio and dataproc
Hybrid data lake on google cloud with alluxio and dataproc
 
Accelerate Cloud Training with Alluxio
Accelerate Cloud Training with AlluxioAccelerate Cloud Training with Alluxio
Accelerate Cloud Training with Alluxio
 
Alluxio+Presto: An Architecture for Fast SQL in the Cloud
Alluxio+Presto: An Architecture for Fast SQL in the CloudAlluxio+Presto: An Architecture for Fast SQL in the Cloud
Alluxio+Presto: An Architecture for Fast SQL in the Cloud
 
Presto on Alluxio Hands-On Lab
Presto on Alluxio Hands-On LabPresto on Alluxio Hands-On Lab
Presto on Alluxio Hands-On Lab
 
What's New in Alluxio 2.3
What's New in Alluxio 2.3What's New in Alluxio 2.3
What's New in Alluxio 2.3
 
Speeding Up Spark Performance using Alluxio at China Unicom
Speeding Up Spark Performance using Alluxio at China UnicomSpeeding Up Spark Performance using Alluxio at China Unicom
Speeding Up Spark Performance using Alluxio at China Unicom
 
Rise of Intermediate APIs - Beam and Alluxio at Alluxio Meetup 2016
Rise of Intermediate APIs - Beam and Alluxio at Alluxio Meetup 2016Rise of Intermediate APIs - Beam and Alluxio at Alluxio Meetup 2016
Rise of Intermediate APIs - Beam and Alluxio at Alluxio Meetup 2016
 
Burst Presto & Spark workloads to AWS EMR with no data copies
Burst Presto & Spark workloads to AWS EMR with no data copiesBurst Presto & Spark workloads to AWS EMR with no data copies
Burst Presto & Spark workloads to AWS EMR with no data copies
 
How to Develop and Operate Cloud First Data Platforms
How to Develop and Operate Cloud First Data PlatformsHow to Develop and Operate Cloud First Data Platforms
How to Develop and Operate Cloud First Data Platforms
 
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Alluxio (formerly Tachyon)...
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Alluxio (formerly Tachyon)...Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Alluxio (formerly Tachyon)...
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Alluxio (formerly Tachyon)...
 
Accelerate Analytics and ML in the Hybrid Cloud Era
Accelerate Analytics and ML in the Hybrid Cloud EraAccelerate Analytics and ML in the Hybrid Cloud Era
Accelerate Analytics and ML in the Hybrid Cloud Era
 
Alluxio: Unify Data at Memory Speed at Strata and Hadoop World San Jose 2017
Alluxio: Unify Data at Memory Speed at Strata and Hadoop World San Jose 2017Alluxio: Unify Data at Memory Speed at Strata and Hadoop World San Jose 2017
Alluxio: Unify Data at Memory Speed at Strata and Hadoop World San Jose 2017
 
Alluxio Use Cases and Future Directions
Alluxio Use Cases and Future DirectionsAlluxio Use Cases and Future Directions
Alluxio Use Cases and Future Directions
 
Best Practice in Accelerating Data Applications with Spark+Alluxio
Best Practice in Accelerating Data Applications with Spark+AlluxioBest Practice in Accelerating Data Applications with Spark+Alluxio
Best Practice in Accelerating Data Applications with Spark+Alluxio
 
Introduction to Alluxio (formerly Tachyon) and how it brings up to 300x perfo...
Introduction to Alluxio (formerly Tachyon) and how it brings up to 300x perfo...Introduction to Alluxio (formerly Tachyon) and how it brings up to 300x perfo...
Introduction to Alluxio (formerly Tachyon) and how it brings up to 300x perfo...
 
Effective Spark with Alluxio at Strata+Hadoop World San Jose 2017
Effective Spark with Alluxio at Strata+Hadoop World San Jose 2017Effective Spark with Alluxio at Strata+Hadoop World San Jose 2017
Effective Spark with Alluxio at Strata+Hadoop World San Jose 2017
 
Optimizing Latency-Sensitive Queries for Presto at Facebook: A Collaboration ...
Optimizing Latency-Sensitive Queries for Presto at Facebook: A Collaboration ...Optimizing Latency-Sensitive Queries for Presto at Facebook: A Collaboration ...
Optimizing Latency-Sensitive Queries for Presto at Facebook: A Collaboration ...
 

Similar to Building a high-performance data lake analytics engine at Alibaba Cloud with Presto+Alluxio

Troubleshooting SQL Server
Troubleshooting SQL ServerTroubleshooting SQL Server
Troubleshooting SQL Server
Stephen Rose
 
Bhupeshbansal bigdata
Bhupeshbansal bigdata Bhupeshbansal bigdata
Bhupeshbansal bigdata
Bhupesh Bansal
 
1 extreme performance - part i
1   extreme performance - part i1   extreme performance - part i
1 extreme performance - part i
sqlserver.co.il
 

Similar to Building a high-performance data lake analytics engine at Alibaba Cloud with Presto+Alluxio (20)

Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
 
Hadoop and Voldemort @ LinkedIn
Hadoop and Voldemort @ LinkedInHadoop and Voldemort @ LinkedIn
Hadoop and Voldemort @ LinkedIn
 
Troubleshooting SQL Server
Troubleshooting SQL ServerTroubleshooting SQL Server
Troubleshooting SQL Server
 
Bhupeshbansal bigdata
Bhupeshbansal bigdata Bhupeshbansal bigdata
Bhupeshbansal bigdata
 
Sql server 2016 it just runs faster sql bits 2017 edition
Sql server 2016 it just runs faster   sql bits 2017 editionSql server 2016 it just runs faster   sql bits 2017 edition
Sql server 2016 it just runs faster sql bits 2017 edition
 
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
 
Using SAS GRID v 9 with Isilon F810
Using SAS GRID v 9 with Isilon F810Using SAS GRID v 9 with Isilon F810
Using SAS GRID v 9 with Isilon F810
 
1 extreme performance - part i
1   extreme performance - part i1   extreme performance - part i
1 extreme performance - part i
 
Handling Data in Mega Scale Systems
Handling Data in Mega Scale SystemsHandling Data in Mega Scale Systems
Handling Data in Mega Scale Systems
 
Expert summit SQL Server 2016
Expert summit   SQL Server 2016Expert summit   SQL Server 2016
Expert summit SQL Server 2016
 
Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...
Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...
Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...
 
[Pulsar summit na 21] Change Data Capture To Data Lakes Using Apache Pulsar/Hudi
[Pulsar summit na 21] Change Data Capture To Data Lakes Using Apache Pulsar/Hudi[Pulsar summit na 21] Change Data Capture To Data Lakes Using Apache Pulsar/Hudi
[Pulsar summit na 21] Change Data Capture To Data Lakes Using Apache Pulsar/Hudi
 
Large Scale SQL Considerations for SharePoint Deployments
Large Scale SQL Considerations for SharePoint DeploymentsLarge Scale SQL Considerations for SharePoint Deployments
Large Scale SQL Considerations for SharePoint Deployments
 
Datalake Architecture
Datalake ArchitectureDatalake Architecture
Datalake Architecture
 
The Open Source and Cloud Part of Oracle Big Data Cloud Service for Beginners
The Open Source and Cloud Part of Oracle Big Data Cloud Service for BeginnersThe Open Source and Cloud Part of Oracle Big Data Cloud Service for Beginners
The Open Source and Cloud Part of Oracle Big Data Cloud Service for Beginners
 
Sql Server
Sql ServerSql Server
Sql Server
 
Azure SQL - more or/and less than SQL Server
Azure SQL - more or/and less than SQL ServerAzure SQL - more or/and less than SQL Server
Azure SQL - more or/and less than SQL Server
 
Data Analytics Meetup: Introduction to Azure Data Lake Storage
Data Analytics Meetup: Introduction to Azure Data Lake Storage Data Analytics Meetup: Introduction to Azure Data Lake Storage
Data Analytics Meetup: Introduction to Azure Data Lake Storage
 
Couchbase - Yet Another Introduction
Couchbase - Yet Another IntroductionCouchbase - Yet Another Introduction
Couchbase - Yet Another Introduction
 
11g R2
11g R211g R2
11g R2
 

More from Alluxio, Inc.

More from Alluxio, Inc. (20)

Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Optimizing Data Access for Analytics And AI with Alluxio
Optimizing Data Access for Analytics And AI with AlluxioOptimizing Data Access for Analytics And AI with Alluxio
Optimizing Data Access for Analytics And AI with Alluxio
 
Speed Up Presto at Uber with Alluxio Caching
Speed Up Presto at Uber with Alluxio CachingSpeed Up Presto at Uber with Alluxio Caching
Speed Up Presto at Uber with Alluxio Caching
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
 
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
 
Alluxio Monthly Webinar | Five Disruptive Trends that Every Data & AI Leader...
Alluxio Monthly Webinar | Five Disruptive Trends that Every  Data & AI Leader...Alluxio Monthly Webinar | Five Disruptive Trends that Every  Data & AI Leader...
Alluxio Monthly Webinar | Five Disruptive Trends that Every Data & AI Leader...
 
Data Infra Meetup | FIFO Queues are All You Need for Cache Eviction
Data Infra Meetup | FIFO Queues are All You Need for Cache EvictionData Infra Meetup | FIFO Queues are All You Need for Cache Eviction
Data Infra Meetup | FIFO Queues are All You Need for Cache Eviction
 
Data Infra Meetup | Accelerate Your Trino/Presto Queries - Gain the Alluxio Edge
Data Infra Meetup | Accelerate Your Trino/Presto Queries - Gain the Alluxio EdgeData Infra Meetup | Accelerate Your Trino/Presto Queries - Gain the Alluxio Edge
Data Infra Meetup | Accelerate Your Trino/Presto Queries - Gain the Alluxio Edge
 
Data Infra Meetup | Accelerate Distributed PyTorch/Ray Workloads in the Cloud
Data Infra Meetup | Accelerate Distributed PyTorch/Ray Workloads in the CloudData Infra Meetup | Accelerate Distributed PyTorch/Ray Workloads in the Cloud
Data Infra Meetup | Accelerate Distributed PyTorch/Ray Workloads in the Cloud
 
Data Infra Meetup | ByteDance's Native Parquet Reader
Data Infra Meetup | ByteDance's Native Parquet ReaderData Infra Meetup | ByteDance's Native Parquet Reader
Data Infra Meetup | ByteDance's Native Parquet Reader
 
Data Infra Meetup | Uber's Data Storage Evolution
Data Infra Meetup | Uber's Data Storage EvolutionData Infra Meetup | Uber's Data Storage Evolution
Data Infra Meetup | Uber's Data Storage Evolution
 
Alluxio Monthly Webinar | Why NFS/NAS on Object Storage May Not Solve Your AI...
Alluxio Monthly Webinar | Why NFS/NAS on Object Storage May Not Solve Your AI...Alluxio Monthly Webinar | Why NFS/NAS on Object Storage May Not Solve Your AI...
Alluxio Monthly Webinar | Why NFS/NAS on Object Storage May Not Solve Your AI...
 
AI Infra Day | Accelerate Your Model Training and Serving with Distributed Ca...
AI Infra Day | Accelerate Your Model Training and Serving with Distributed Ca...AI Infra Day | Accelerate Your Model Training and Serving with Distributed Ca...
AI Infra Day | Accelerate Your Model Training and Serving with Distributed Ca...
 
AI Infra Day | The AI Infra in the Generative AI Era
AI Infra Day | The AI Infra in the Generative AI EraAI Infra Day | The AI Infra in the Generative AI Era
AI Infra Day | The AI Infra in the Generative AI Era
 
AI Infra Day | Hands-on Lab: CV Model Training with PyTorch & Alluxio on Kube...
AI Infra Day | Hands-on Lab: CV Model Training with PyTorch & Alluxio on Kube...AI Infra Day | Hands-on Lab: CV Model Training with PyTorch & Alluxio on Kube...
AI Infra Day | Hands-on Lab: CV Model Training with PyTorch & Alluxio on Kube...
 
AI Infra Day | The Generative AI Market And Intel AI Strategy and Product Up...
AI Infra Day | The Generative AI Market  And Intel AI Strategy and Product Up...AI Infra Day | The Generative AI Market  And Intel AI Strategy and Product Up...
AI Infra Day | The Generative AI Market And Intel AI Strategy and Product Up...
 
AI Infra Day | Composable PyTorch Distributed with PT2 @ Meta
AI Infra Day | Composable PyTorch Distributed with PT2 @ MetaAI Infra Day | Composable PyTorch Distributed with PT2 @ Meta
AI Infra Day | Composable PyTorch Distributed with PT2 @ Meta
 
AI Infra Day | Model Lifecycle Management Quality Assurance at Uber Scale
AI Infra Day | Model Lifecycle Management Quality Assurance at Uber ScaleAI Infra Day | Model Lifecycle Management Quality Assurance at Uber Scale
AI Infra Day | Model Lifecycle Management Quality Assurance at Uber Scale
 
Alluxio Monthly Webinar | Efficient Data Loading for Model Training on AWS
Alluxio Monthly Webinar | Efficient Data Loading for Model Training on AWSAlluxio Monthly Webinar | Efficient Data Loading for Model Training on AWS
Alluxio Monthly Webinar | Efficient Data Loading for Model Training on AWS
 

Recently uploaded

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Recently uploaded (20)

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 

Building a high-performance data lake analytics engine at Alibaba Cloud with Presto+Alluxio

  • 1. Building a High-performance Data Lake Analytics Engine at Alibaba Cloud with Presto+Alluxio Zhenlin Ma
  • 2. ⽬录 Introduction to DLA 01 02 03 DLA Presto Architecture Optimizations on OSS Data Source
  • 3. Introduction to DLA Data Lake Analytics (DLA) is a large scale serverless data federation service on Alibaba Cloud. Serverless Data Federation Database-like User Experience High performance
  • 4. 列存表 Data Lake Storag e (OSS) One Click 
 Data Lake DB - Data Streaming - Data Spark Streaming LogService Application Logs Serverless Spark ETL&ML Serverless Presto Metadata 
 Management Auto Discovery Archived Transactional Data DW DMS APP QuickBI Data Lake Engin e (DLA) Introduction to DLA
  • 5. DLA Presto Multi-Coordinator s Lake Formation:One Click Data Warehouse, Metadata Discover y Enterprise level Access Contro l Cost:Billing methods based on the volume of scanned data, or the number of compute units used. MySQL protocol support Caching Data sources:More than15 types of data source is supported,including Alibaba Cloud OSS, ADB, Table Store , etc. 

  • 7. Contents Introduction to DLA 01 02 03 Optimizations on OSS Data Source DLA Presto Architecture
  • 8. Oracle DLA Presto Architecture FrontNode Uni fi ed Meta Service OSS MySQL SQLServer … TableStore MaxCompute ElasticSearch Druid Worker Worker Worker Coordinator Default Cluster Worker Worker Worker Coordinator CU Cluster Presto Clusters PostgreSQL SQL Dialect Transformation/Submit Query/Fetch Result TableScan/Pushdown Met a Operation MySQL Protocol Multiple Charging Model Unified Meta & Access Control
  • 9. About Presto Presto is an open source distributed SQL query engine for running interactive analytic queries against data sources of all sizes ranging from gigabytes to petabytes. Full Memory Processing Pluggable Connectors Great Community Full SQL Semantics Blazing fast, suitable for adhoc queries, data exploration, and lightweight ETL. Compliant with ANSI SQL, don’t need to worry that any SQL syntax not supported.
  • 10. Challenges to DLA Presto Oracle FrontNode Uni fi ed Meta Service OSS MySQL SQLServer … TableStore MaxCompute ElasticSearch Druid Worker Worker Worker Coordinator Default Cluster Worker Worker Worker Coordinator CU Cluster Presto Clusters PostgreSQL SQL Dialect Transformation/Submit Query/Fetch Result TableScan/Pushdown Met a Operation
  • 11. Challenges to DLA Presto Oracle FrontNode Uni fi ed Meta Service OSS MySQL SQLServer … TableStore MaxCompute ElasticSearch Druid Worker Worker Worker Coordinator Default Cluster Worker Worker Worker Coordinator CU Cluster Presto Clusters PostgreSQL SQL Dialect Transformation/Submit Query/Fetch Result TableScan/Pushdown Met a Operation Request costs Bandwidth limit Performance pulling large data Latency to get metadata/partitions Performance pulling large data Pressure on data source
  • 12. small data big data update frequently update infrequently OTS OSS ODPS ? Mysql Redis Mongodb PostgresSQL … Big Data/NoSQL: Performance of pulling large data Online System:Pressure on data source Big Data/O ffl ine:Performance of pulling large data Challenges to DLA Prest o -Analysis
  • 13. small data big data update frequently update not frequently OTS OSS ODPS ? Mysql Redis Mongodb PostgresSQL … Big Data/NoSQL: Performance of pulling large data Online System:Pressure on data source Big Data/O ffl ine:Performance of pulling large data Concurrency limitation Avoid reading master Challenges to DLA Prest o -Analysis
  • 14. small data big data update frequently update not frequently OTS OSS ODPS ? Mysql Redis Mongodb PostgresSQL … Big Data/NoSQL: Performance of pulling large data Online System:Pressure on data source Big Data/O ffl ine:Performance of pulling large data Concurrency limitation Avoid reading master Caching Challenges to DLA Prest o -Analysis
  • 15. small data big data update frequently update not frequently OTS OSS ODPS ? Mysql Redis Mongodb PostgresSQL … Big Data/NoSQL: Performance of pulling large data Online System:Pressure on data source Big Data/O ffl ine:Performance of pulling large data Concurrency limitation Avoid reading master Caching Pushdown Challenges to DLA Prest o -Analysis
  • 16. Oracle Solutions FrontNode 统⼀元 数据管 理 OSS MySQL SQLServer … TableStore MaxCompute ElasticSearch Druid Worker Worker Worker Coordinator Default Cluster Worker Worker Worker Coordinator CU Cluster Presto Clusters PostgreSQL SQL改写 / 提交查询 / 取查询结果 TableScan/Pushdown 元数据操作 Decrease Request count Alluxio Data Cache Data Cache Partition meta cache splits cache 对源库影响 对源库影响 对源库影响 Limit Concurrency Read from slavery One Click Data Lake Pushdown
  • 17. Contents Introduction to DLA 01 02 03 Optimizations on OSS Data Source DLA Presto Architecture
  • 18. DLA Presto Optimizations on OSS Data Source Decreasing OSS API request count Alluxio Data Cache
  • 19. Decreasing OSS API request count Background Users report that the OSS Calling fees are high, even higher than DLA fees OSS Calling fees = Actual calls × Unit price per 10,000 calls/10000
  • 20. Hadoop FileSystem API Invocation Alibaba Cloud OSS API Invocation read read … seek(100) read seek(128MB) read #1 read as much data as possible with 1 request small seek, continue reading big seek, start a new request continue reading #2 read continue reading … 1.Reduced API call count down to 1/10 for data stored in Text format. 2.Reduced API call count down to 1/3 for data stored in ORC/Parquet format. 3.Saves cost for about 60% to 90% on average. Decreasing OSS API request count
  • 21. Fully tested in Facebook/ Netease/JD production environment Alluxio Data Cach e -Why Alluxio Proven Solution Efficiency Monitoring High concurrency Asynchronous write cache Easy to monitor and diagnosis
  • 22. Alluxio Data Cach e -Local Cache v.s. Cluster OSS Worker Worker Worker Coordinator Presto Cluster Worker Worker Worker Master Alluxio Cluster read alluxio on cache miss cache to alluxio return data Presto Cluster
  • 23. Alluxio Data Cach e -Local Cache Alluxio data cache is a library residing in the Presto worker. Cache data is stored in local Disk.
  • 24. SOFT_AFFINITY Makes the best attempt to assign the same split to the same worker when doing the scheduling Preferred(0) -> Preferred(1) -> LeastBusy Alluxio Data Cach e -Local Cache Preferred(1) Preferred(0) Preferred(0) Preferred(0) LeastBusy
  • 25. Alluxio Data Cach e -Cluster OSS Worker Worker Worker Coordinator Presto Cluster Worker Worker Worker Master Alluxio Cluster read alluxio on cache miss cache to alluxio return data Alluxio is a distributed caching service to Presto Short-circuit read supported
  • 26. Alluxio Data Cach e -Local Cache v.s. Cluster OSS Worker Worker Worker Coordinator Presto Cluster Worker Worker Worker Master Alluxio Cluster read alluxio on cache miss cache to alluxio return data Presto Cluster Local Cache v.s.Cluster Data closer to compute node No extra nodes needed Local Cache v.s. Collocated Cluster Easy to maintanance No resource waste if user didn’t has OSS data source
  • 27. Local Cache v.s. Cluster Data closer to compute node No extra resource needed Local Cache v.s. Collocated Cluster Easy to maintenance No resource waste if user didn’t has OSS data source Alluxio Data Cach e -Local Cache v.s. Cluster
  • 28. Alluxio Data Cach e -Improvements in DLA Sceneries of Community Solution v.s. Sceneries of DLA Queries mainly on hive data sources v.s. Can’t assume that for a specific user SSD v.s. Ultra cloud disk Challenges Performance improvement in the statistical sense may not be perceivable by users, necessary to increase cache hit ratio for every single query Low disk throughput affects the acceleration effect Increase cache hit ratio for every single query Increase disk throughput
  • 29. Alluxio Data Cach e -Improvements in DLA Increase cache hit ratio Analysis SOFT_AFFINITY:Preferred(0) -> Preferred(1) -> LeastBusy Key is to submit more splits to Preferred Nodes node-scheduler.max-splits-per-node Increase node-scheduler.max-splits-per-node Effect:Cache hit ratio increased Side effect:load for workers become Unbalanced 4 splits 1 split 1 split split1 split2 split3 split5 split6 split4
  • 30. Alluxio Data Cach e -Improvements in DLA Increase cache hit ratio Unbalanced load HiveSplit Preferred Nodes: path.hashCode() % numWorkers Big file generate more splits, Cause the corresponding worker getting more load Need to submit splits of a big file to different nodes (path.hashCode() + (start / (fileSize / numWorkers)))) % numWorkers 2 splits 2 splits 2splits split4 split5 split1 split2 split3 split4
  • 31. Alluxio Data Cach e -Improvements in DLA Improve disk throughput 20GB Ultra disk throughput: Write109MB/s Read 108MB/s Multiple disks 6 ultra disks performance: 600MB/s read/write Implement page.path = $root/$page_path => page.path = $roots[page.hash % roots.size]/$page_path
  • 32.  Environment: Cluster:16cpu64GB * 16 nodes Disk:20GB ultra disk * 6 Data:TPCH-1TB / ORC / Stored at OSS Queries Chosen from TPCH: Include scan to table lineitem(the biggest table) without join between three or more tables Alluxio Data Cach e -Performance
  • 33.  Test Result Alluxio Data Cach e -Performance
  • 34. Future Plan Alluxio Cluster Shared by multi users Suitable when Presto auto scaling Improvements for OSS Data Source Fragment Result Cache Query Result Cache Improve performance of querying small files
  • 35. More Information about DLA • DLA Homepage:https://www.aliyun.com/product/datalakeanalytics • DLA SQL Introduction:https://developer.aliyun.com/article/770819 We are hiring :)