Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )SANG WON PARK
몇년 전부터 Data Architecture의 변화가 빠르게 진행되고 있고,
그 중 Cloud DW는 기존 Data Lake(Hadoop 기반)의 한계(성능, 비용, 운영 등)에 대한 대안으로 주목받으며,
많은 기업들이 이미 도입했거나, 도입을 검토하고 있다.
본 자료는 이러한 Cloud DW에 대해서 개념적으로 이해하고,
시장에 존재하는 다양한 Cloud DW 중에서 기업의 환경에 맞는 제품이 어떤 것인지 성능/비용 관점으로 비교했다.
- 왜기업들은 CloudDW에주목하는가?
- 시장에는어떤 제품들이 있는가?
- 우리Biz환경에서는 어떤 제품을 도입해야 하는가?
- CloudDW솔루션의 성능은?
- 기존DataLake(EMR)대비 성능은?
- 유사CloudDW(snowflake vs redshift) 대비성능은?
앞으로도 Data를 둘러싼 시장은 Cloud DW를 기반으로 ELT, Mata Mesh, Reverse ETL등 새로운 생테계가 급속하게 발전할 것이고,
이를 위한 데이터 엔지니어/데이터 아키텍트 관점의 기술적 검토와 고민이 필요할 것 같다.
https://blog.naver.com/freepsw/222654809552
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )SANG WON PARK
몇년 전부터 Data Architecture의 변화가 빠르게 진행되고 있고,
그 중 Cloud DW는 기존 Data Lake(Hadoop 기반)의 한계(성능, 비용, 운영 등)에 대한 대안으로 주목받으며,
많은 기업들이 이미 도입했거나, 도입을 검토하고 있다.
본 자료는 이러한 Cloud DW에 대해서 개념적으로 이해하고,
시장에 존재하는 다양한 Cloud DW 중에서 기업의 환경에 맞는 제품이 어떤 것인지 성능/비용 관점으로 비교했다.
- 왜기업들은 CloudDW에주목하는가?
- 시장에는어떤 제품들이 있는가?
- 우리Biz환경에서는 어떤 제품을 도입해야 하는가?
- CloudDW솔루션의 성능은?
- 기존DataLake(EMR)대비 성능은?
- 유사CloudDW(snowflake vs redshift) 대비성능은?
앞으로도 Data를 둘러싼 시장은 Cloud DW를 기반으로 ELT, Mata Mesh, Reverse ETL등 새로운 생테계가 급속하게 발전할 것이고,
이를 위한 데이터 엔지니어/데이터 아키텍트 관점의 기술적 검토와 고민이 필요할 것 같다.
https://blog.naver.com/freepsw/222654809552
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with KubernetesSeungYong Oh
Session Video: https://youtu.be/7MPH1mknIxE
In this talk, we share Devsisters' journey of migrating its internal data platform including Spark to Kubernetes, with its benefits and issues.
데브시스터즈에서 데이터플랫폼 컴포넌트를 쿠버네티스로 옮기면서 얻은 장점들과 이슈들에 대해 공유합니다.
Conference session page:
- English: https://sched.co/WIRK
- Korean: https://sched.co/WYRc
Apache Ignite vs Alluxio: Memory Speed Big Data AnalyticsDataWorks Summit
Apache Ignite vs Alluxio: Memory Speed Big Data Analytics - Apache Spark’s in memory capabilities catapulted it as the premier processing framework for Hadoop. Apache Ignite and Alluxio, both high-performance, integrated and distributed in-memory platform, takes Apache Spark to the next level by providing an even more powerful, faster and scalable platform to the most demanding data processing and analytic environments.
Speaker
Irfan Elahi, Consultant, Deloitte
This session, led by James Hamilton, VP and Distinguished Engineer, gives an insider view of some the innovations that help make the AWS cloud unique. He will show examples of AWS networking innovations from the interregional network backbone, through custom routers and networking protocol stack, all the way down to individual servers. He will show examples from AWS server hardware, storage, and power distribution and then, up the stack, in high scale streaming data processing. James will also dive into fundamental database work AWS is delivering to open up scaling and performance limits, reduce costs, and eliminate much of the administrative burden of managing databases. Join this session and walk away with a deeper understanding of the underlying innovations powering the cloud.
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with KubernetesSeungYong Oh
Session Video: https://youtu.be/7MPH1mknIxE
In this talk, we share Devsisters' journey of migrating its internal data platform including Spark to Kubernetes, with its benefits and issues.
데브시스터즈에서 데이터플랫폼 컴포넌트를 쿠버네티스로 옮기면서 얻은 장점들과 이슈들에 대해 공유합니다.
Conference session page:
- English: https://sched.co/WIRK
- Korean: https://sched.co/WYRc
Apache Ignite vs Alluxio: Memory Speed Big Data AnalyticsDataWorks Summit
Apache Ignite vs Alluxio: Memory Speed Big Data Analytics - Apache Spark’s in memory capabilities catapulted it as the premier processing framework for Hadoop. Apache Ignite and Alluxio, both high-performance, integrated and distributed in-memory platform, takes Apache Spark to the next level by providing an even more powerful, faster and scalable platform to the most demanding data processing and analytic environments.
Speaker
Irfan Elahi, Consultant, Deloitte
This session, led by James Hamilton, VP and Distinguished Engineer, gives an insider view of some the innovations that help make the AWS cloud unique. He will show examples of AWS networking innovations from the interregional network backbone, through custom routers and networking protocol stack, all the way down to individual servers. He will show examples from AWS server hardware, storage, and power distribution and then, up the stack, in high scale streaming data processing. James will also dive into fundamental database work AWS is delivering to open up scaling and performance limits, reduce costs, and eliminate much of the administrative burden of managing databases. Join this session and walk away with a deeper understanding of the underlying innovations powering the cloud.
Spark
Hadoop
HDFS
Spark Cluster
Docker
Google Cloud Platform
GCP
DataProc
Google Cloud Storage
Google Vision API
Google Translation API
Google Natural Language API
14. 추가 기능
14
• Multi-version의 hadoop cluster 지원
• File System간 데이터 이동 지원
• Replication으로 data locality 향상
• Alluxio Catalog 지원
• Data transformation 서비스
15. Spark 테스트: 환경 구성
15
Alluxio
Spark
HDFS
Alluxio
Co-located
De-located
8 Core 64G Mem 8 Core 64G Mem8 Core 64G Mem
테스트 데이터: measurements.csv (9.62 GB)
목표:
● De/Co-located가 성능에 미치는 영향
● Executor관련 설정이 성능에 미치는 영향
18. Spark 테스트: 결과
18
Sec
Executor수 변경
(Executor수, Core수)
Core수 변경default
[Alluxio 처리 성능 최적화를 위한 고려사항]
● de-located환경도 성능향상을 가져오며, co-located환경은 더 나은 성능향상을 가져온다.
● 어떻게 Spark튜닝에 어떻게 가져가느냐에 따라 Alluxio를 통해 더 큰 처리 성능 향상을 가져옴
19. BP 테스트: 환경 구성
19
Batch Pipeline
(64 core, 512G Mem)
DHP for Spark
(5 core, 38G Mem)
Alluxio
(8 core, 64G Mem)
HDFS
(8 core, 64G Mem)
테스트 데이터: measurements.csv (9.62 GB)
목표:
● BP에서 데이터 I/O
● 비등록 Cloud Storage 접근 및 작업 가능 여부
20. BP I/O 테스트: 결과
Test Case 설명 처리 시간(분:초)
HDFS -> HDFS
DHP가 HDFS에 저장된 데이터를 읽고,
HDFS에 데이터를 저장
3:24
HDFS -> Alluxio -> Alluxio
DHP가 HDFS의 데이터를 Alluxio를 통해 읽고,
Alluxio 에 데이터 저장
3:35
Alluxio -> Alluxio
DHP가 Alluxio에 저장된 데이터를 읽고,
Alluxio에 저장
3:00
약 12%
성능 향상
DHP의 Spark Executor 설정:
--num-executors=6 --executor-cores=4 --executor-memory=7g
21. BP I/O 테스트: 결과
[Alluxio 처리 성능 최적화를 위한 고려사항]
● BP 코드 수정을 통한 partition 수 조정
● Spec에 맞는 executor관련/partition 튜닝
● 입력 데이터의 크기 및 Block Size에 따라 동적 조정 필요
HDFS 대비
약 12%
성능 향상
22. BP multi-storage 테스트: 구성 및 결과
Test Case 설명 처리 시간(분:초)
Join(hdfs + GCS) -> S3
hdfs에 저장된 user 데이터와
GCS에 저장된 review 데이터 alluxio를 통해 읽고,
•user_id를 키로 join하여, 일부 칼럼만 추출하고
•S3에 저장
05:18
Join(Alluxio + Alluxio) -> S3
•Alluxio에 저장된 user 데이터와 review 데이터를 읽고,
•user_id를 키로 join하여, 일부 칼럼만 추출하여,
•S3에 저장
03:08
테스트 데이터:
Input: user.csv (1.4GB)
review.csv (3.5GB),
목표:
BP에서 지원 불가능한 저장소 접근 여부
GCS
(BP 미지원)
HDFS
S3
23. Multi-Cloud 테스트: 환경 구성
Master
(r3.xlarge)
Core
(r3.xlarge)
Task
(r3.xlarge)
Alluxio
Master
Alluxio
Worker
Alluxio
Worker
Zeppelin for Spark
GCS
Connector
GCS
Connector
GCS
Connector
테스트 데이터:
measurements.csv (9.62 GB)
목표:
● GCS Connector를 사용
Vs.
Alluxio를 Connector로 사용
● Multi-Cloud 환경에서
data-locality 성능 향상
24. Multi-Cloud 테스트: 결과
Test Case 설명 처리 시간
GCS connector를 사용
S3에서 EMR로 데이터를 가져오고,
Spark job 처리하고,
GCS Connector를 통해 GCS에 저장하기
237.50
Alluxio를 connector로 사용
Alluxio를 connector로만 사용하여,
S3에서 EMR로 데이터를 가져오고,
Spark job 처리하고,
Alluxio를 통해 GCS에 저장하기
239.49
Alluxio를 connector로 사용
(with Alluxio Storage)
Alluxio를 저장소로 사용하여,
S3에서 Alluxio로 미리 적재된 데이터를,
Spark job 처리하고,
Alluxio를 통해 GCS에 저장하기
211.62
// GCS connector
val s = sc.textFile("s3://path/to/dir/measurements.csv")
val new_s = s.map(line => line + line )
new_s.coalesce(20).saveAsTextFile("gs://path/to/dir/output_measurements")
// alluxio connector
val s = sc.textFile("alluxio://<MASTER>19998/measurements.csv")
val new_s = s.map(line => line + line )
new_s.coalesce(20).saveAsTextFile("alluxio://<MASTER>:19998/sto_gcs/output_measurements")
약 12%
성능
향상
25. Use Case: Two Sigma Investments (지역성)
• 세계 Top5 Hedge Funds 회사
• 더 많은 iteration 돌리고, 비용줄이기
• 데이터의 크기와 물리적 전송 때문에 model iteration
하는데 3시간, 하루에 평균 두번
• Spot instance로 1,000개의 compute node 사용
• Machine Learning run time이 75% 감소, 하루
iteration 수를 2번에서 8번으로 늘릴 수 있게 됨
• Spot instance와 alluxio의 사용으로 computig 비용을
약 95% 줄임
25
https://d39kqat1wpn1o5.cloudfront.net/app/uploads/2019/05/Case-Study_TwoSigma.pdf
26. Use Case: TalkingData (접근성)
• 중국에서 가장 큰 데이터 브로커 회사
• 하루에 20 테라바이트 이상의 데이터를 프로세싱
• 많은 양의 데이터가 소비자와 앱으로 부터 수집되며,
여러 저장소로 저장됨 (hdfs, S3, ceph)
• 데이터관리의 어려움
• 데이터 가져옴에 있어 복잡성이 사라짐
• 데이터 관리의 편의성
26
https://d39kqat1wpn1o5.cloudfront.net/app/uploads/2019/05/talkingdata-case-study-leading-data-broker-in-china-leverages-alluxio-to-unify-terabyt
es-of-data-across-disparate-data-sources.pdf
27. Use Case: Lenovo (유연성)
• Petabyte mobile phone data 분석
• 이중데이터에 따른 비용 상승
• 데이터 관리의 어려움
• 데이터 ETL작업 간 높은 에러발생률과 비용
• ETL 작업으로 인한 에러 없앰
• 비싼 ETL작업과 data duplication 소비 줄임
• 메모리속도I/O를 통한 worldwide data 분석 속도 향상
27
https://d39kqat1wpn1o5.cloudfront.net/app/uploads/2019/05/lenovo-analyzes-petabytes-of-smartphone-data-from-multiple-locations-and-eliminate
s-etl-with-alluxio.pdf
28. Use Case: 그밖의...
• Samsung SDS: Brightics Studio
https://image.samsungsds.com/global/ko/solutions/off/brigc/dev_res/__icsFiles/afieldfile/2018/03/30/UserManual_
Brightics_Cloud_1.5_0320_1.pdf
• JD.com: JD BDP for Presto
https://www.slideshare.net/Alluxio/using-alluxio-as-a-faulttolerant-pluggable-optimization-component-of-jdcoms-co
mputation-frameworks
• Oracle: Big Data Cloud using BDFS based on Alluxio
https://docs.oracle.com/en/cloud/paas/big-data-compute-cloud/csspc/big-data-file-system-bdfs.html
• Enhancing the Value of Alluxio With Samsung NVMe SSDs
https://www.samsung.com/semiconductor/global.semi.static/Alluxio-plus-NVMe-WP-v6-0.pdf
• Enterprise distributed query service powered by presto alluxio across clouds
at Walmart Labs
https://www.alluxio.io/resources/videos/enterprise-distributed-query-service-powered-by-presto-alluxio-across-clou
ds-at-walmartlabs/
28
30. What is Alluxio ?
30
”Alluxio:
A Virtual Distributed File System”
- dissertation, Haoyuan Li, May 2018 -
31. Bigdata 환경의 진화
31
느껴지는 고민사항
● 비싼 eco-system 통합
● 비효율적 data의 Duplication
● Data 관리의 어려움
● Data Silo문제
32. 장점
32
• 메모리를 저장소로 사용, 메모리 속도의 I/O 가능
• 코딩 없이 간단하게 다양한 앱과 스토리지 연결하기
• 손쉬운 데이터 관리
33. Alluxio 2.0
Data Management
• Multi-version의 hadoop cluster 지원
• UFS간 데이터 이동 가능
• Embedded Journal
ML/DL workloads
• POSIX compatible API
Scaling
• Replication으로 data locality 향상
• 10억개이상 파일 저장 가능
33