Cloud DW 기술 트렌드와
Snowflake 적용
( Data Engineer 관점에서 필요한 성능/비용/운영편의성 을 중심으로… )
2022.07
freepsw 1
2
기업의 데이터 플랫폼 아키텍처의 진화 흐름
데이터 자체의 변화(다양한 포맷, 데이터 사이즈 등)와 데이터 수요의 가속화로 지속적 진화
업무 DB
(OLTP)
Data Warehouse
(On-Prem)
Data Lake
Cloud
Data Warehouse
Lake House
Cloud로 동적 자원 할당
(빠른 성능과 저비용)
제한된 자원 내에
데이터 통합
비정형 데이터
대용량 데이터 분석 가능
RDBMS 기반
Data Centralization
Data
Fabric
Data
Virtuali
zation
Data
Mesh
Data De-Centralization
3
Modern data stack에서 Cloud DW란?
Cloud DW의 제약없는 저장공간 & 컴퓨팅 자원을 활용하여, 통합된 데이터 환경에서 복잡한 업무 요건을 처리 가능
https://medium.com/@jordan_volz/whos-who-in-the-modern-data-stack-ecosystem-spring-2022-c45854653dc4
On-Prem DW Cloud DW
Cloud
Data Lake
• Oracle Exadata
• Teradata
• IBM Netezza,
• EMC Greenplum Data
Computing Appliance
• SAP Sybase IQ
• HP Vertica
Data Mart
Managed Cloud
DW
Cloud based
Self-DW
Public Cloud
DW
Cloud 사업자 제공 서비스
• AWS Redshift
• GCP BigQuery
• Azure Synaps
DW 전문 기업의 Cloud기반 서비스
• Snowflake
• GCP BigQuery omni
• Teradata Vantage
Cloud Infra에 직접 DW 구축
• Vertica
• Greenplum
• IBM DB2
Cloud 사업자 종속 Multi-Cloud 지원
Multi-Cloud + Hybrid
Cloud
제품 종속 제거
운영 편의성
인프라 및 운영 비용, 성능 해결
Snowflake
빠른 성능과 운영 복잡성 감소
Databricks (LakeHouse)
기존 DW/DataMart 영역과 Data Lake영역을 포함하여 시장을 확장 중
Cloud DW (Lake House) 기술의 트렌드
• AWS EMR
• GCP Dataproc
• Azure HDInsight
• Cloudera CDP
• Databricks
5
Cloud DW를 바라보는 Data Engineer의 고민
어떤 제품을 선택할까?
초기 구성(자원 할당)은 어떻게 할까?
계속 변화하는 워크로드(사용량)는 어떻게 대응할까?
사용자가 급증하는 상황에서 어떻게 안정적으로 서비스 할까?
6
Cloud DW 제품 도입 후 어떤 상황이 발생할까?
Cloud DW 도입 후, 기업에서 활용하는 단계별로 예측하기 어려운 다양한 수요(기업환경 변화 등)가 발생함.
이러한 변화를 도입된 DW에서 민첩하게 지원할 수 있는지 확인 필요
초기 구성
단계
DW 활용
단계
클러스터
확장 단계
7
Cloud DW 제품 초기 구성 단계에는?
도입된 DW의 가이드에 따라 기업에 최적화된 설정 및 구성이 필요
(어떻게 기업의 향후 데이터 사이즈, 예상되는 사용자 수, 각종 이벤트 등을 고려하여 설정할 수 있을까?)
초기 구성
단계
DW 활용
단계
클러스터
확장 단계
Data Engineer
• 미래의 스토리지 용량 및 컴퓨팅 자원 산정
• 설치 편의성
- 환경 구성 소요 시간
- 최적화 설정 검토 등
• 데이터 마이그레이션 성능
• 데이터 보안 환경
8
DW 제품의 설치와 설정을 최적화 하려면?
고객이 특별히 고민하지 않고도 원하는 순간에 바로 설치 가능한가?
미래의 최대/평균/최소 사용량을 예측하여, 최적의 성능과 비용 효율적인 설정이 가능한가?
( 초기에 예측한 값이 미래 시점에도 유효할까? )
9
CSP의 Cloud DW를 설치 및 구성하려면 ? (1/2)
미래에 발생 가능한 분석 수요(스토리지, 분석작업, 동시사용자 등)를 미리 예측하여, 최적의 type을 선택해야 함.
10
[백업] AWS Redshift에서 선택해야 할 유형은 어떤 것이 있나?
Node Type을 먼저 선택하고, 용량과 성능을 고려하여 Node Size도 직접 선택해야 함 (최적의 설정을 찾기 어려움)
기업의 환경이 변하면
또 다시 최적의 선택이 필요!
(환경 변화에 민첩한 대응이 불가)
11
CSP의 Cloud DW를 설치 및 구성하려면 ? (2/2)
백업 등 기업의 환경에 적합한 추가적인 설정을 운영자가 직접 선택해야 함.
12
Snowflake를 설치 및 구성하려면?
Snowflake 계정만 생성 하면 모든 구성이 완료 !!
(기업 환경 변화에 따라 언제든지 유연하게 컴퓨팅/스토리지 변경 가능)
13
초기 Data Loading 시 고려사항?
설치한 Cloud DW에 기존 데이터를 빠르게 Loading하여 실 운영을 위한 준비가 필요함.
14
Cloud DW 제품 활용 단계
빠르게 변하는 기업 환경에 따라 다양한 분석 수요에 따라 탄력적으로 자원 확장 필요
(최소의 비용으로 최적의 성능을 제공해야 함)
초기 구성
단계
DW 활용
단계
클러스터
확장 단계
Data Engineer
• 설치 편의성
- 환경 구성 소요 시간
- 최적화 설정 검토 등
• 데이터 마이그레이션 성능
• 데이터 보안 환경
업무 담당자
(분석가)
(BI Tools)
• 데이터 조회 성능
- Scale out / in
- Scale up / down
• 멀티 클러스터 지원 여부
• 초기 설치 및 구성 비용
• 운영 편의성 (최적화 튜닝 등)
• 데이터 공유 (중복 없는)
• 데이터 안정성 (백업, 복구)
15
기업의 일시적 분석 수요 증가 시,
빠르게 확장/축소 가능한가?
외부 데이터 (100 TB 이상)를 활용하고 싶은데, 빠르게 저장(Import)이 가능한가?
20년치 데이터를 Deep Learning으로 분석하고 싶은데, 충분한 성능을 제공할까?
년 1회 발생하는 대용량 배치작업(20시간 소요)을 빠르고 안정적으로 처리 가능한가?
(DW 성능저하 없이)
16
CSP Cloud DW 클러스터를 확장하려면?
다양한 사용자의 요청에 따라 운영자가 직접 클러스터 변경
(클러스터 확장 시 cluster 사용 불가)
17
CSP Cloud DW 클러스터 확장/축소 시 고려사항
성능과 비용 최적화를 위한 다양한 사전/사후 작업이 필요 (운영자가 관여하여 작업 필요)
데이터 백업
(snapshot)
클러스터 확장 시간 고려
스토리지 용량 확인
Auto snapshot은
일정 기간 경과 후 자동 삭제
(데이터 유실 가능)
디스크 최적화 실행(VACUUM)하여
데이터 복제 최소화
확장된 클러스터의 스토리지 용량이
현재 클러스터의 데이터를 저장
가능해야 함
Resize 유형에 따라 클러스터 확장 시간 계산
(중요 작업 시간 고려)
Cloud DW Type 변경(scale up)은 더 많은
시간이 소요됨
“ 용량 부족 시 장애 발생” “ 중요한 백업 데이터 확보 필요” ” 클러스터 중지로 작업 불가”
18
Snowflake의 클러스터 확장은?
간단한 선택으로 클러스터 즉시 확장 !!
( 처리할 데이터 용량에 따라 클러스터 사이즈만 선택 )
9가지 유형 중 원하는 Size 선택
사용하지 않으면,
자동으로 클러스터 중지
19
Demo) 분석가가 DW의 여러 테이블을 분석하는 Query 실행
280억 건의 대용량 데이터를 4개 테이블과 연결하는 복잡한 Query 실행
테이블 명 Record 건수
store-sales
28,800,239,865
(280 억건)
date_dim 73,049
store 1,500
household_demographics 7200
customer_address 32,500,000
(3천 2백만 건)
280 억건
20
Demo) 280억 건 데이터 조회 성능 (클러스터 성능 확장, scale-up)
X-Small 사이즈 클러스터에서 2X-Large 클러스터로 쉽게 확장하여 거의 동일한 비용으로 28배 성능 향상
Table
(TPC-DS 10 TB)
21
초 단위로 사용한 만큼 비용을 지불
다른 CSP는 초단위로 DW를 생성하기 어렵거나, 미리 자원 (Slot) 을 구매한 후 사용해야 함.
오전 업무 시간 오후 업무 시간
점심시간
22
안전한 데이터 보관 (Data Protection)
Time travel 기능으로 최대 90일 내 모든 시점 복구 가능
Cross-Cloud & Cross-Region Data Replication 가능
23
Code(python, scala 등) 기반
대용량 데이터 분석을 지원하는가?
Snowflake의 데이터를 python으로 처리/분석하기 위한 별도 자원(Apache spark 등)이 필요한가?
Data Scientist, Data Engineer가 code(data frame)로 처리하는 로직을 지원하는가?
( 기존 pyspark, pandas 기반 데이터 처리 코드를 쉽게 재사용 할 수 있는가? )
24
데이터와 어플리케이션 실행 환경을 통합
데이터가 존재 하는 공간에서 모든 작업(로직)이 실행되어, 복잡한 데이터 처리 환경이 단순해짐
25
데이터 수요 증가로
분석가, 웹서비스, BI 툴 사용량 급증 시
안정적인 서비스 가능한가?
분석가 교육/실습/경연대회로 급증하는 동시 사용자의 Query 요청을 처리할 수 있나?
(평소 대비 사용자 10배 이상 증가)
BI로 구성된 Report 수 및 BI Report 조회 건수 증가 시 성능 저하 없이 처리 가능한가?
(기존 DW 자원에서 처리 가능한 동시 사용자 수는 한계가 있음)
26
동시 사용자 수 증가에 따른 클러스터 자동 확장
Snowflake는 동시 사용자 증가 시, 자동으로 Cluster 를 확장 및 축소하여 최소의 비용으로 최적의 성능 제공
“ 지원 불가”
사용자 급증 시
서비스 멈춤 또는 접속 에러 발생 가능
27
Snowflake의 Multi Cluster 생성 방법 (자동 확장/축소)
업무의 확장성을 고려하여 최대한 많은 동시 사용자를 처리할 수 있는 사이즈 선택 (사용해야 비용이 과금)
최대 확장 가능한 Cluster 개수 지정
(사용하지 않으면 비용 없음)
28
Demo) 동시 사용자 증가 시, 자동 Cluster 확장 가능한지?
각 사용자의 Query 복잡도에 따라 동시 사용자 수를 자동으로 조정 (간단한 쿼리는 1개 클러스터로 동시에 8명 이상 처리 가능)
분석가 4명 동시 접속
(1개 Cluster 로 실행)
분석가 4명 추가 접속
(총 8명 동시 접속 시 확장)
29
Cloud DW 제품 확장 단계
기업의 value chain에 속한 수 많은 협력사 및 계열사 데이터를 공유 및 융합하여 새로운 비즈니스 가치 창출 가능
초기 구성
단계
DW 활용
단계
클러스터
확장 단계
Data Engineer
• 설치 편의성
- 환경 구성 소요 시간
- 최적화 설정 검토 등
• 데이터 마이그레이션 성능
• 데이터 보안 환경
업무 담당자
(분석가)
(BI Tools)
• 데이터 조회 성능
- Scale out / in
- Scale up / down
• 멀티 클러스터 지원 여부
• 안정적인 분석 업무 수행
• 초기 설치 및 구성 비용
• 운영 편의성 (최적화 튜닝 등)
• 동적인 자원 할당 기능
• 데이터 공유 (중복 없는)
• 데이터 안정성 (백업, 복구)
• Multi CSP 단위 데이터 공유
• Multi CSP DR 구성
• 유휴 컴퓨팅 시간에 대한 비용
• 일, 주, 월, 년도 별 비용 제한 가능
• 확장 시 투자 및 인건 비용
30
다른 CSP를 사용하는 계열사 또는 협력사와
DB를 쉽게 공유 할 수 있는가?
각 계열사 별로 CSP를 선정하여 각자 DB를 운영 중인 상황에서, 협업을 위해 DB를 공유하여 쉽게 분석할 수 있는가?
CSP 간 공유된 데이터의 일관성을 쉽게 유지할 수 있는가? (동기화)
31
CSP간 데이터 복제 및 공유를 통한 협업 지원
CSP Cloud DW는 다른 CSP의 데이터 공유 및 협업이 불가능
“ 지원 불가”
32
2022년 Snowflake 신규 기능
( 고객 관점에서 무엇이 좋아지나? )
33
Snowflake Summit 2022에서 소개된 신규 기능의 의미
기업 관점에서 고민하던 목적별로 분리된 데이터 플랫폼을 통합하고, 다양한 데이터 수요를 지원하는 기능 강조
33
활용 영역 확장
(Data Engineer + Data Scientist)
Snowflake 서비스 개선
(성능, 운영 편의성)
데이터 영역 확장 & 통합
(OLTP + External Storage)
기존 python 코드를 이용하여 데이터
분석/처리 가능 (별도 Spark Cluster 불필요)
Data Product(Data + Web service) 생성 및
공유 가능 (별도 서비스 환경 불필요)
데이터 목적 별로 구성되는 데이터 솔루션
통합 가능
데이터 복제/이동 등의 복잡한 ETL 비용
절감
데이터 조회 성능 향상 (동시 처리량, Latency)
Warehouse Type 추가 (5XL, 6XL)
비용 관리 및 통제 강화 기능 제공
“ 데이터 통합으로 일관된 데이터 제공” “ 복잡한 분석 클러스터 도입 비용 절감” ” Snowflake 도입/활용 비용 절감”
34
데이터 영역 확장 & 통합 (OLTP + 외부 스토리지)
기존 Snowflake는 OLAP용 Data Warehouse 용도로 특화된 용도로만 사용 가능
Data Warehouse
(OLAP)
데이터 분석가
DBMS
(OLTP)
External Storage
현재도 External Storage 조회 가능
(성능이 느리고, 편집 불가)
데이터 분석을 위한 별도 자원 필요
(Apache Spark 등)
35
데이터 영역 확장 & 통합 (OLTP + 외부 스토리지)
Snowflake에서 지원하는 데이터 유형을 확장 및 통합하여, 시스템 복잡성을 줄이고 일관된 분석환경 제공 가능
Data Warehouse
(OLAP)
데이터 분석가
DBMS
(OLTP)
External Storage
36
END

More Related Content

PDF
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
PDF
AWS EMR Cost optimization
PDF
데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...
PDF
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
PDF
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
PPTX
SQream-GPU가속 초거대 정형데이타 분석용 SQL DB-제품소개-박문기@메가존클라우드
PDF
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
PPTX
Apache spark 소개 및 실습
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
AWS EMR Cost optimization
데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
SQream-GPU가속 초거대 정형데이타 분석용 SQL DB-제품소개-박문기@메가존클라우드
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Apache spark 소개 및 실습

What's hot (20)

PDF
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
PDF
Amazon DynamoDB 키 디자인 패턴
PDF
AWS 활용한 Data Lake 구성하기
PDF
EMR 플랫폼 기반의 Spark 워크로드 실행 최적화 방안 - 정세웅, AWS 솔루션즈 아키텍트:: AWS Summit Online Ko...
PPTX
Data pipeline and data lake
PDF
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
PDF
[236] 카카오의데이터파이프라인 윤도영
PDF
Data Engineering 101
PDF
2020.02.06 우리는 왜 glue를 버렸나?
PPTX
[211] HBase 기반 검색 데이터 저장소 (공개용)
PDF
Real time analytics at uber @ strata data 2019
PDF
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
PDF
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
PPTX
bigquery.pptx
PDF
Data platform data pipeline(Airflow, Kubernetes)
PDF
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
PPTX
Azure Synapse Analytics Overview (r1)
PPTX
Azure Synapse Analytics Overview (r2)
PDF
Tips for data science competitions
PPTX
Migrating with Debezium
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
Amazon DynamoDB 키 디자인 패턴
AWS 활용한 Data Lake 구성하기
EMR 플랫폼 기반의 Spark 워크로드 실행 최적화 방안 - 정세웅, AWS 솔루션즈 아키텍트:: AWS Summit Online Ko...
Data pipeline and data lake
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
[236] 카카오의데이터파이프라인 윤도영
Data Engineering 101
2020.02.06 우리는 왜 glue를 버렸나?
[211] HBase 기반 검색 데이터 저장소 (공개용)
Real time analytics at uber @ strata data 2019
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
bigquery.pptx
Data platform data pipeline(Airflow, Kubernetes)
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r2)
Tips for data science competitions
Migrating with Debezium
Ad

Similar to Cloud DW technology trends and considerations for enterprises to apply snowflake (20)

PDF
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
PDF
빅데이터 기술 현황과 시장 전망(2014)
PDF
20140806 AWS Meister BlackBelt - Amazon Redshift (Korean)
PDF
[코세나, kosena] 빅데이터 구축 및 제안 가이드
PDF
AWS CLOUD 2017 - Amazon Redshift 기반 DW 와 비지니스 인텔리전스 구현 방법 (김일호 솔루션즈 아키텍트)
PDF
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
PDF
[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정
PPTX
글로벌 고객 사례를 통하여 소개하는 혁신적인 데이터 웨어하우스 - 김형일 (AWS 솔루션즈 아키텍트)
PDF
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
PDF
[Bespin Global 파트너 세션] 분산 데이터 통합 (Data Lake) 기반의 데이터 분석 환경 구축 사례 - 베스핀 글로벌 장익...
PPTX
Big data application architecture 요약2
PPTX
Hybrid & Logical Data Warehouse
PDF
BSP 사례중심발표 베스핀글로벌_신인철_SA PRO
PDF
AWS Summit Seoul 2023 | Snowflake: 모든 데이터 워크로드를 위한 하나의 클라우드 데이터 플랫폼
PDF
서울 하둡 사용자 모임 발표자료
PPTX
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
PDF
20130716 AWS Meister re:Generate - Amazon Redshift (Korean)
PDF
AWS BigData 전략과 관련 AWS 서비스 이해하기
PPTX
[경북] I'mcloud information
PDF
[2018] 고객 사례를 통해 본 클라우드 전환 전략
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
빅데이터 기술 현황과 시장 전망(2014)
20140806 AWS Meister BlackBelt - Amazon Redshift (Korean)
[코세나, kosena] 빅데이터 구축 및 제안 가이드
AWS CLOUD 2017 - Amazon Redshift 기반 DW 와 비지니스 인텔리전스 구현 방법 (김일호 솔루션즈 아키텍트)
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정
글로벌 고객 사례를 통하여 소개하는 혁신적인 데이터 웨어하우스 - 김형일 (AWS 솔루션즈 아키텍트)
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
[Bespin Global 파트너 세션] 분산 데이터 통합 (Data Lake) 기반의 데이터 분석 환경 구축 사례 - 베스핀 글로벌 장익...
Big data application architecture 요약2
Hybrid & Logical Data Warehouse
BSP 사례중심발표 베스핀글로벌_신인철_SA PRO
AWS Summit Seoul 2023 | Snowflake: 모든 데이터 워크로드를 위한 하나의 클라우드 데이터 플랫폼
서울 하둡 사용자 모임 발표자료
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
20130716 AWS Meister re:Generate - Amazon Redshift (Korean)
AWS BigData 전략과 관련 AWS 서비스 이해하기
[경북] I'mcloud information
[2018] 고객 사례를 통해 본 클라우드 전환 전략
Ad

More from SANG WON PARK (17)

PDF
Trends_of_MLOps_tech_in_business
PDF
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
PDF
Understanding of Apache kafka metrics for monitoring
PDF
Apache kafka performance(latency)_benchmark_v0.3
PDF
Optane DC Persistent Memory(DCPMM) 성능 테스트
PDF
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
PDF
boosting 기법 이해 (bagging vs boosting)
PDF
Machine Learning Foundations (a case study approach) 강의 정리
PDF
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
PDF
Coursera Machine Learning (by Andrew Ng)_강의정리
PDF
내가 이해하는 SVM(왜, 어떻게를 중심으로)
PDF
코드로 이해하는 Back_propagation(cs231n)
PDF
Rancher Simple User Guide
PDF
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
PDF
Reinforcement learning v0.5
PDF
Code로 이해하는 RNN
PDF
Hadoop eco story 이해
Trends_of_MLOps_tech_in_business
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
Understanding of Apache kafka metrics for monitoring
Apache kafka performance(latency)_benchmark_v0.3
Optane DC Persistent Memory(DCPMM) 성능 테스트
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
boosting 기법 이해 (bagging vs boosting)
Machine Learning Foundations (a case study approach) 강의 정리
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Coursera Machine Learning (by Andrew Ng)_강의정리
내가 이해하는 SVM(왜, 어떻게를 중심으로)
코드로 이해하는 Back_propagation(cs231n)
Rancher Simple User Guide
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
Reinforcement learning v0.5
Code로 이해하는 RNN
Hadoop eco story 이해

Cloud DW technology trends and considerations for enterprises to apply snowflake

  • 1. Cloud DW 기술 트렌드와 Snowflake 적용 ( Data Engineer 관점에서 필요한 성능/비용/운영편의성 을 중심으로… ) 2022.07 freepsw 1
  • 2. 2 기업의 데이터 플랫폼 아키텍처의 진화 흐름 데이터 자체의 변화(다양한 포맷, 데이터 사이즈 등)와 데이터 수요의 가속화로 지속적 진화 업무 DB (OLTP) Data Warehouse (On-Prem) Data Lake Cloud Data Warehouse Lake House Cloud로 동적 자원 할당 (빠른 성능과 저비용) 제한된 자원 내에 데이터 통합 비정형 데이터 대용량 데이터 분석 가능 RDBMS 기반 Data Centralization Data Fabric Data Virtuali zation Data Mesh Data De-Centralization
  • 3. 3 Modern data stack에서 Cloud DW란? Cloud DW의 제약없는 저장공간 & 컴퓨팅 자원을 활용하여, 통합된 데이터 환경에서 복잡한 업무 요건을 처리 가능 https://medium.com/@jordan_volz/whos-who-in-the-modern-data-stack-ecosystem-spring-2022-c45854653dc4
  • 4. On-Prem DW Cloud DW Cloud Data Lake • Oracle Exadata • Teradata • IBM Netezza, • EMC Greenplum Data Computing Appliance • SAP Sybase IQ • HP Vertica Data Mart Managed Cloud DW Cloud based Self-DW Public Cloud DW Cloud 사업자 제공 서비스 • AWS Redshift • GCP BigQuery • Azure Synaps DW 전문 기업의 Cloud기반 서비스 • Snowflake • GCP BigQuery omni • Teradata Vantage Cloud Infra에 직접 DW 구축 • Vertica • Greenplum • IBM DB2 Cloud 사업자 종속 Multi-Cloud 지원 Multi-Cloud + Hybrid Cloud 제품 종속 제거 운영 편의성 인프라 및 운영 비용, 성능 해결 Snowflake 빠른 성능과 운영 복잡성 감소 Databricks (LakeHouse) 기존 DW/DataMart 영역과 Data Lake영역을 포함하여 시장을 확장 중 Cloud DW (Lake House) 기술의 트렌드 • AWS EMR • GCP Dataproc • Azure HDInsight • Cloudera CDP • Databricks
  • 5. 5 Cloud DW를 바라보는 Data Engineer의 고민 어떤 제품을 선택할까? 초기 구성(자원 할당)은 어떻게 할까? 계속 변화하는 워크로드(사용량)는 어떻게 대응할까? 사용자가 급증하는 상황에서 어떻게 안정적으로 서비스 할까?
  • 6. 6 Cloud DW 제품 도입 후 어떤 상황이 발생할까? Cloud DW 도입 후, 기업에서 활용하는 단계별로 예측하기 어려운 다양한 수요(기업환경 변화 등)가 발생함. 이러한 변화를 도입된 DW에서 민첩하게 지원할 수 있는지 확인 필요 초기 구성 단계 DW 활용 단계 클러스터 확장 단계
  • 7. 7 Cloud DW 제품 초기 구성 단계에는? 도입된 DW의 가이드에 따라 기업에 최적화된 설정 및 구성이 필요 (어떻게 기업의 향후 데이터 사이즈, 예상되는 사용자 수, 각종 이벤트 등을 고려하여 설정할 수 있을까?) 초기 구성 단계 DW 활용 단계 클러스터 확장 단계 Data Engineer • 미래의 스토리지 용량 및 컴퓨팅 자원 산정 • 설치 편의성 - 환경 구성 소요 시간 - 최적화 설정 검토 등 • 데이터 마이그레이션 성능 • 데이터 보안 환경
  • 8. 8 DW 제품의 설치와 설정을 최적화 하려면? 고객이 특별히 고민하지 않고도 원하는 순간에 바로 설치 가능한가? 미래의 최대/평균/최소 사용량을 예측하여, 최적의 성능과 비용 효율적인 설정이 가능한가? ( 초기에 예측한 값이 미래 시점에도 유효할까? )
  • 9. 9 CSP의 Cloud DW를 설치 및 구성하려면 ? (1/2) 미래에 발생 가능한 분석 수요(스토리지, 분석작업, 동시사용자 등)를 미리 예측하여, 최적의 type을 선택해야 함.
  • 10. 10 [백업] AWS Redshift에서 선택해야 할 유형은 어떤 것이 있나? Node Type을 먼저 선택하고, 용량과 성능을 고려하여 Node Size도 직접 선택해야 함 (최적의 설정을 찾기 어려움) 기업의 환경이 변하면 또 다시 최적의 선택이 필요! (환경 변화에 민첩한 대응이 불가)
  • 11. 11 CSP의 Cloud DW를 설치 및 구성하려면 ? (2/2) 백업 등 기업의 환경에 적합한 추가적인 설정을 운영자가 직접 선택해야 함.
  • 12. 12 Snowflake를 설치 및 구성하려면? Snowflake 계정만 생성 하면 모든 구성이 완료 !! (기업 환경 변화에 따라 언제든지 유연하게 컴퓨팅/스토리지 변경 가능)
  • 13. 13 초기 Data Loading 시 고려사항? 설치한 Cloud DW에 기존 데이터를 빠르게 Loading하여 실 운영을 위한 준비가 필요함.
  • 14. 14 Cloud DW 제품 활용 단계 빠르게 변하는 기업 환경에 따라 다양한 분석 수요에 따라 탄력적으로 자원 확장 필요 (최소의 비용으로 최적의 성능을 제공해야 함) 초기 구성 단계 DW 활용 단계 클러스터 확장 단계 Data Engineer • 설치 편의성 - 환경 구성 소요 시간 - 최적화 설정 검토 등 • 데이터 마이그레이션 성능 • 데이터 보안 환경 업무 담당자 (분석가) (BI Tools) • 데이터 조회 성능 - Scale out / in - Scale up / down • 멀티 클러스터 지원 여부 • 초기 설치 및 구성 비용 • 운영 편의성 (최적화 튜닝 등) • 데이터 공유 (중복 없는) • 데이터 안정성 (백업, 복구)
  • 15. 15 기업의 일시적 분석 수요 증가 시, 빠르게 확장/축소 가능한가? 외부 데이터 (100 TB 이상)를 활용하고 싶은데, 빠르게 저장(Import)이 가능한가? 20년치 데이터를 Deep Learning으로 분석하고 싶은데, 충분한 성능을 제공할까? 년 1회 발생하는 대용량 배치작업(20시간 소요)을 빠르고 안정적으로 처리 가능한가? (DW 성능저하 없이)
  • 16. 16 CSP Cloud DW 클러스터를 확장하려면? 다양한 사용자의 요청에 따라 운영자가 직접 클러스터 변경 (클러스터 확장 시 cluster 사용 불가)
  • 17. 17 CSP Cloud DW 클러스터 확장/축소 시 고려사항 성능과 비용 최적화를 위한 다양한 사전/사후 작업이 필요 (운영자가 관여하여 작업 필요) 데이터 백업 (snapshot) 클러스터 확장 시간 고려 스토리지 용량 확인 Auto snapshot은 일정 기간 경과 후 자동 삭제 (데이터 유실 가능) 디스크 최적화 실행(VACUUM)하여 데이터 복제 최소화 확장된 클러스터의 스토리지 용량이 현재 클러스터의 데이터를 저장 가능해야 함 Resize 유형에 따라 클러스터 확장 시간 계산 (중요 작업 시간 고려) Cloud DW Type 변경(scale up)은 더 많은 시간이 소요됨 “ 용량 부족 시 장애 발생” “ 중요한 백업 데이터 확보 필요” ” 클러스터 중지로 작업 불가”
  • 18. 18 Snowflake의 클러스터 확장은? 간단한 선택으로 클러스터 즉시 확장 !! ( 처리할 데이터 용량에 따라 클러스터 사이즈만 선택 ) 9가지 유형 중 원하는 Size 선택 사용하지 않으면, 자동으로 클러스터 중지
  • 19. 19 Demo) 분석가가 DW의 여러 테이블을 분석하는 Query 실행 280억 건의 대용량 데이터를 4개 테이블과 연결하는 복잡한 Query 실행 테이블 명 Record 건수 store-sales 28,800,239,865 (280 억건) date_dim 73,049 store 1,500 household_demographics 7200 customer_address 32,500,000 (3천 2백만 건) 280 억건
  • 20. 20 Demo) 280억 건 데이터 조회 성능 (클러스터 성능 확장, scale-up) X-Small 사이즈 클러스터에서 2X-Large 클러스터로 쉽게 확장하여 거의 동일한 비용으로 28배 성능 향상 Table (TPC-DS 10 TB)
  • 21. 21 초 단위로 사용한 만큼 비용을 지불 다른 CSP는 초단위로 DW를 생성하기 어렵거나, 미리 자원 (Slot) 을 구매한 후 사용해야 함. 오전 업무 시간 오후 업무 시간 점심시간
  • 22. 22 안전한 데이터 보관 (Data Protection) Time travel 기능으로 최대 90일 내 모든 시점 복구 가능 Cross-Cloud & Cross-Region Data Replication 가능
  • 23. 23 Code(python, scala 등) 기반 대용량 데이터 분석을 지원하는가? Snowflake의 데이터를 python으로 처리/분석하기 위한 별도 자원(Apache spark 등)이 필요한가? Data Scientist, Data Engineer가 code(data frame)로 처리하는 로직을 지원하는가? ( 기존 pyspark, pandas 기반 데이터 처리 코드를 쉽게 재사용 할 수 있는가? )
  • 24. 24 데이터와 어플리케이션 실행 환경을 통합 데이터가 존재 하는 공간에서 모든 작업(로직)이 실행되어, 복잡한 데이터 처리 환경이 단순해짐
  • 25. 25 데이터 수요 증가로 분석가, 웹서비스, BI 툴 사용량 급증 시 안정적인 서비스 가능한가? 분석가 교육/실습/경연대회로 급증하는 동시 사용자의 Query 요청을 처리할 수 있나? (평소 대비 사용자 10배 이상 증가) BI로 구성된 Report 수 및 BI Report 조회 건수 증가 시 성능 저하 없이 처리 가능한가? (기존 DW 자원에서 처리 가능한 동시 사용자 수는 한계가 있음)
  • 26. 26 동시 사용자 수 증가에 따른 클러스터 자동 확장 Snowflake는 동시 사용자 증가 시, 자동으로 Cluster 를 확장 및 축소하여 최소의 비용으로 최적의 성능 제공 “ 지원 불가” 사용자 급증 시 서비스 멈춤 또는 접속 에러 발생 가능
  • 27. 27 Snowflake의 Multi Cluster 생성 방법 (자동 확장/축소) 업무의 확장성을 고려하여 최대한 많은 동시 사용자를 처리할 수 있는 사이즈 선택 (사용해야 비용이 과금) 최대 확장 가능한 Cluster 개수 지정 (사용하지 않으면 비용 없음)
  • 28. 28 Demo) 동시 사용자 증가 시, 자동 Cluster 확장 가능한지? 각 사용자의 Query 복잡도에 따라 동시 사용자 수를 자동으로 조정 (간단한 쿼리는 1개 클러스터로 동시에 8명 이상 처리 가능) 분석가 4명 동시 접속 (1개 Cluster 로 실행) 분석가 4명 추가 접속 (총 8명 동시 접속 시 확장)
  • 29. 29 Cloud DW 제품 확장 단계 기업의 value chain에 속한 수 많은 협력사 및 계열사 데이터를 공유 및 융합하여 새로운 비즈니스 가치 창출 가능 초기 구성 단계 DW 활용 단계 클러스터 확장 단계 Data Engineer • 설치 편의성 - 환경 구성 소요 시간 - 최적화 설정 검토 등 • 데이터 마이그레이션 성능 • 데이터 보안 환경 업무 담당자 (분석가) (BI Tools) • 데이터 조회 성능 - Scale out / in - Scale up / down • 멀티 클러스터 지원 여부 • 안정적인 분석 업무 수행 • 초기 설치 및 구성 비용 • 운영 편의성 (최적화 튜닝 등) • 동적인 자원 할당 기능 • 데이터 공유 (중복 없는) • 데이터 안정성 (백업, 복구) • Multi CSP 단위 데이터 공유 • Multi CSP DR 구성 • 유휴 컴퓨팅 시간에 대한 비용 • 일, 주, 월, 년도 별 비용 제한 가능 • 확장 시 투자 및 인건 비용
  • 30. 30 다른 CSP를 사용하는 계열사 또는 협력사와 DB를 쉽게 공유 할 수 있는가? 각 계열사 별로 CSP를 선정하여 각자 DB를 운영 중인 상황에서, 협업을 위해 DB를 공유하여 쉽게 분석할 수 있는가? CSP 간 공유된 데이터의 일관성을 쉽게 유지할 수 있는가? (동기화)
  • 31. 31 CSP간 데이터 복제 및 공유를 통한 협업 지원 CSP Cloud DW는 다른 CSP의 데이터 공유 및 협업이 불가능 “ 지원 불가”
  • 32. 32 2022년 Snowflake 신규 기능 ( 고객 관점에서 무엇이 좋아지나? )
  • 33. 33 Snowflake Summit 2022에서 소개된 신규 기능의 의미 기업 관점에서 고민하던 목적별로 분리된 데이터 플랫폼을 통합하고, 다양한 데이터 수요를 지원하는 기능 강조 33 활용 영역 확장 (Data Engineer + Data Scientist) Snowflake 서비스 개선 (성능, 운영 편의성) 데이터 영역 확장 & 통합 (OLTP + External Storage) 기존 python 코드를 이용하여 데이터 분석/처리 가능 (별도 Spark Cluster 불필요) Data Product(Data + Web service) 생성 및 공유 가능 (별도 서비스 환경 불필요) 데이터 목적 별로 구성되는 데이터 솔루션 통합 가능 데이터 복제/이동 등의 복잡한 ETL 비용 절감 데이터 조회 성능 향상 (동시 처리량, Latency) Warehouse Type 추가 (5XL, 6XL) 비용 관리 및 통제 강화 기능 제공 “ 데이터 통합으로 일관된 데이터 제공” “ 복잡한 분석 클러스터 도입 비용 절감” ” Snowflake 도입/활용 비용 절감”
  • 34. 34 데이터 영역 확장 & 통합 (OLTP + 외부 스토리지) 기존 Snowflake는 OLAP용 Data Warehouse 용도로 특화된 용도로만 사용 가능 Data Warehouse (OLAP) 데이터 분석가 DBMS (OLTP) External Storage 현재도 External Storage 조회 가능 (성능이 느리고, 편집 불가) 데이터 분석을 위한 별도 자원 필요 (Apache Spark 등)
  • 35. 35 데이터 영역 확장 & 통합 (OLTP + 외부 스토리지) Snowflake에서 지원하는 데이터 유형을 확장 및 통합하여, 시스템 복잡성을 줄이고 일관된 분석환경 제공 가능 Data Warehouse (OLAP) 데이터 분석가 DBMS (OLTP) External Storage