SlideShare a Scribd company logo
1 of 34
Download to read offline
• 여정의 시작
• 인프라 편
• 로그 편
• 대용량 데이터 편
• 서비스 편
• 마치며
전득진 (Jeon, DeukJin)
dj.jeon@sk.com
Data Platform 팀
추천 담당 / Search Center
주식회사 11번가
• 18년차 Software Engineer
• ’18.5 : SK Planet
• ‘18.9.1 : 11번가
2018년 6월 19일/20일 기사
‘18.8월 DI TF 결성
• Mission - 11번가 Data Infra를 구축하라!
• Full Time 3명 / Part Time 3명
• 10월 SK Planet 판교 사옥, DIC팀과 동거 시작
신속 & 효율적
SKP DIC
Clone
11st DIC
Mission
• SKP DIC 현황 파악 및 Data Infra 구축 계획 수립
:: 첨부자료 - 우주왕복선 Endeavour 호 (’노력’). 1992년 5월 ~. 2011년 6월.
Mission
• 구성원들이 구비한 경력과 기술에 따라 3가
지 업무로 분할
• 인프라 구축
• 데이터 입수 파이프라인 구축
• 대용량 데이터 마이그레이션
데이터
마이그레이션
(F/T 1)
•Hive Table / HDFS
•RDBMS Table / Hive Meta
•NoSQL DB
데이터 입수
(P/T 3)
•User Log
•System Log
•DB Data
인프라
(F/T 1)
•Hardware
•Software
- Hadoop eco system
(F/T 1)
데이터 인프라 구축
• DI TF 결성 : 2018년 8월. Full Time 3명, Part Time 3명
• DIC 구축 : 12월~2019년 2월. 하둡 인프라 + 데이터 수집 인프라 + 데이터 분석/관리 SW (In-House 개발 S/W)
• 데이터 마이그레이션 : 3월. 10 PB
• 서비스 마이그레이션 : 4월. 추천 플랫폼, BI 시스템, Log2.0, Ad Platform, Search Platform, Web Scouter, …
• Yarn 클러스터 메모리 증설 : 5월
• SKP DIC 사용계약 2개월 조기 종료 : 6월 à 4월
9월 10월 11월 12월 ’19년 1월 2월 3월 4월 5월
DI TF 결성 -
DIC 구축 계획, 규모산정,
설계
DIC 구축
(인프라 + 입수 파이프
라인)
데이터 마이그레이션
서비스 마이그레이션
Yarn 메모리 증설
: 4월 13(증설 요청)
5/14~5/28 (증설 완료)
SKP DIC 사용계약 조기
종료 : 2개월. 6월 à 4월
추천, BI, Ad, Log2.0
SKP DIC 사용계약
메모리 증설
SKP DIC 분석, 규모산정, 설계, Pilot 구성
하둡Infra + 데이터 SW + 데이터 수집 인프라
Full Mig.
계약
조기종료
메모리 구매
Incremental Mig.
Sources 수집 가공 (분석)
저장
User
Server
DB
Sentinel
Rake
Mirrormaker
Kafka
Collector
Oggre
제공
DW
Hive
OLAP
Druid
NoSQL
HBase
Data
Service
BI System
Reco
Seller
Analytics
ICT Family
Yarn-RT
Yarn-DI
Yarn-mini
Query / ML / DL
HDFS-DIC
HDFS-DSC
Batch RealTime
Cache
Redis
Search
Query
Engine
Ad
A/B Test
ICT Family
Logagent
Hardware
• Architecture
Hardware
• Total 1K 노드
• HDFS : 3 cluster
• DI : 공용 저장소 35 PB
• MSM (Hbase) : 추천 전용 저장소
• PIE : 실험 클러스터
• Yarn : 4 cluster 21K vcore / 125 TB vmem
• DI : 공용 연산노드
• RT : 실시간 스트림 수집 노드
• ETL : 배치 잡 노드 수행
• mini : DB Import 용 Sqoop 수행 노드
• PIE : 실험 클러스터
SKP
• Total 400 노드
• HDFS : 3 cluster
• DI : 공용 저장소 15 PB
• DSC (Hbase) : 추천 전용 저장소
• Yarn : 4 cluster 11K vcore / 85 TB vmem
• DI : 공용 연산 노드
• RT : 실시간 + 배치 잡 수행 노드
• mini : DB Import 용 Sqoop 수행 노드
11st
Ingestion Processing
Storage
Sentinel
Rake
Kafka
Mirrormaker
Kafka
Collector
Oggre
Serving
DW
Hive
OLAP
Druid
NoSQL
HBase
Yarn-RT
Yarn-DI
Yarn-mini
Query / ML / DL
HDFS-DIC
HDFS-DSC
Batch RealTime
Cache
Redis
Query
/Storage
Engine
Logagent
Diet. Diet.
노드 = 1000 ea : 400 ea
가용량 = 35PB : 15PB
사용량 = 18PB : 9PB
Hardware
Yarn Cluster 메모리 증설
• Yarn Cluster 메모리 부족 이슈 : 4월 중순 (issue-rasing). ’19. 5월 말 (증설 완료)
• 현상 : Batch Job 및 Spark ML Job 들이 실패함
• 원인 분석
• 워크로드 대비 부족한 자원
• SKP에서 11번가 BM이 리소스의 70% 소비하였으나, 실제 구성된 리소스는 20%, 50% 이하
• 분사에 따른 전기간 소급 적용 배치 증가 + Data 량 증가에 따른 쿼리 워크로드 + 신규 Machine Learning Job 추가
Yarn Cluster SKP 11st (as-was) 11st (as-is)
DI 89 TB 16 TB 58.5 TB
RT 35 TB 16 TB 24.8 TB
mini 1.2 TB 1.75 TB 1.75 TB
Yarn Queue Calibration (allocation)
• Fair Scheduler
Software
SK Planet
Data
Product
관리도구 • Ganglia / Zabbix / ELK / Grafana
• Medic / Scrooge / Probe / CMS
• Insomnia / Collector UI / Timebomb
• Hue
분석도구 • Galleon / Barrel / Boat(GPU) / Cuckoo
• R Studio / Jupyter / Zeppelin
입수도구 • Sentinel / Rake / Logagent / Collector
• Oggre / Sqoop / Oozie / Pig
• Kafka / Mirrormaker
Processing 쿼리엔진 • Hive 1.1
eda-oa / eda-svdi / etl / qc
• Hive 2.1
eda-oa / eda-svdi / etl / qc / LLAP
In-Memory
쿼리엔진
• Presto / Impala
• Spark 1.6~2.2
Yarn • DI / RT / ETL / mini
(MR / TEZ)
Storage HDFS • DI
• MSM
Hbase / Phoenix • MSM
Kudu • kudu 1.6
DB • MongoDB / Mysql / Oracle(OM/BI)
Cache • Redis
Etc Middleware • Nginx, Tomcat, RabbitMQ
Security • Lightsaber / Querycache / Sentrybox
• Sentry, Hive UDF (암복호화)
• KMS, IDMS, ActiveDirectory
11st
Data
Product
관리도구 • Ganglia / Zabbix / Grafana
• New Medic / Scrooge / Probe / CMS
• Insomnia / Collector UI / Timebomb
• Thanos / Thanos Frozen
• Hue / Airflow
분석도구 • Galleon / Barrel / Cuckoo
• R Studio / Jupyter / Zeppelin / Superset
입수도구 • Sentinel / Rake / Logagent / Collector
• Oggre / Sqoop / Oozie
• Kafka / Mirrormaker / Flume
Processing 쿼리엔진 • Hive 2.1
eda-oa / eda-svdi / etl / qc / LLAP
In-Memory
쿼리엔진
• Presto
• Spark 2.2
Yarn • DI / RT / mini
(MR / TEZ)
Storage HDFS • DI
• DSC(=MSM)
Hbase / Phoenix • DSC(=MSM)
DB • MongoDB / Mysql / Oracle(OM/BI)
Cache • Redis
Etc Middleware • Nginx, Tomcat, RabbitMQ
Security • Lightsaber / Querycache / Sentrybox
• Sentry, Hive UDF (암복호화)
• KMS, IDMS, ActiveDirectory
Software
• 방대한 솔루션
• 솔루션 체인
• 순환 의존성
QC ßà SentryBox
CMS Lock ßà Hive
Medic ßà Sentinel
데이터 입수 파이프라인 구축
• Overview
Server
DB
LogAgent
Oracle
Golden Gate
보라매 IDC
일산 IDC
OMDB OMDB Relay
MirrorMaker
Collector
Oggre
Sqoop
BIDB
rake
web/was
rake
client
Data Infra
Cluster
User
데이터 입수 파이프라인 구축
• Log / DB 데이터 수집 현황
데이터유형 수집데이터 수집대상 수집도구 일 수집량
User Log - log2.0 - pc web
- modile web
- app (ios, android)
rake client (in-house)
- android, ios, javascript
Rake WEB/WAS : 40ea (26/14)
1.4 T
Server Log - access log
- service log
- web server
- application server
Logagent (in-house) : 450ea
kafka : 13ea(보라매 3/ Alp3 / 일산7)
Collector : 6ea
29 T
DB Data - 업무 데이터 - Main DB
- BI DB
- AD DB
Oggre (in-house) : 2ea
Oozie : 2ea
Yarn-mini : 5ea
7 T
Oggre:209건
Sqoop:245건
데이터 입수 파이프라인 구축 - User Log
• App에서 로그 수집 서버 양측에 전송하는 방법 (X)
• 로그 수집 서버 한 곳에서 트래픽을 복제하여 전송하는 방법 (O)
• Nginx :: post_action : Traffic mirroring
• Origin : SKP
1. 11st 로그 입수 파이프라인을 구축
2. 신규 앱 배포 : 사용자 로그를 전송하는 End Point을 변경 (SKP à 11st)
• 로그를 양사 DIC로 송출 (Origin : SKP)
• 로그입수량을 대조
3. 로그를 양사 DIC로 송출 (Origin : SKP)
• 로그입수량을 대조
• 11st 내 로그입수 후 처리 로직을 완성 (마트생성 Workflow)
데이터 입수 파이프라인 구축 - User Log
• 구버전 앱 : SKP로 송출
• 신버전 앱 : 11st로 송출
• post_action
• Origin : SKP (11st로 트래픽 복제)
• Issue : 1% 트래픽 유실
User Log
1%
SKP (커머스 IDC)
Data Infra
Cluster
Collector
rake was
11st (일산 IDC)
Data Infra
Cluster
Collector
rake
web/was
post_action
(1% 유실)
old
rake client 데이터 복제
new
rake client
User Log
99%
데이터 입수 파이프라인 구축 - User Log
• post_action
• Origin : 11st (SKP로 트래픽 복제)
User Log
99%
SKP (커머스 IDC)
Data Infra
Cluster
Collector
rake was
11st (일산 IDC)
Data Infra
Cluster
Collector
rake
web/was
post_action
old
rake client 데이터 복제
new
rake client
User Log
1%
데이터 입수 파이프라인 구축 - User Log
• 구버전 앱 트래픽 1% : 강제 업데이트
• post_action
• Traffic mirroring 제거
• SKP로 로그 송출 중단
User Log
99.9%
SKP (커머스 IDC)
Data Infra
Cluster
Collector
rake was
11st (일산 IDC)
Data Infra
Cluster
Collector
rake
web/was
old
rake client 데이터 복제
new
rake client
User Log
0.1%
post_action 제거
데이터 입수 파이프라인 구축 - System Log
• Logagent
• 보라매IDC, 일산IDC 양분
• Mirrormaker
• 보라매 Kafka à MirrorMaker à 일산 Kafka à Collector à HDFS
Server LogAgent
보라매 IDC
일산 IDC
Data
Platform
MirrorMaker
Collector
Migration Plan
마이그레이션 대상 선별
- 이관 대상 : 계정/Hive DB/HDFS 목록
효율화 대상 선정
- Hive DB별 삭제 대상/ 보관주기 대상/ 유지 대상 목록
재암호화 대상 점검
마이그레이션 시나리오 수립
- 마이그레이션 프로세스 공지 및 설명회
마이그레이션 수행
Migration Scenario
Migration Scenario
Migration
• 마이그레이션 대상 식별 : 전체 33PB
• 데이터 Owner 대상 설명회 수행 => 전수 조사 / 사용 여부 조사
• 적극적인 참여로
• 11st 데이터만 16PB --> 10PB (40% 효율화 성공)
30PB
16PB 10PB
Migration
• 마이그레이션 대상별 진행방식 :
• HDFS + Hive : inter cluster distcp
• Druid
• Mysql : dump & import
• MongoDB : dump & import
• Hbase : raw data 기반으로 재 적재
• Redis : Hbase 기반으로 재 적재
• HDFS만 10PB : cluster간 Network Bandwidth = 40G
• 이론적 복제 시간 : 432TB(1day) * 80%(buffer) = 350TB
• 주요 업무시간 제외한 나머지 12시간 복제 시 소요 기간
3333TB(Usable) / 175TB(12시간) = 19일 + 5일(buffer)
• 실제 복제 기간 : 240TB(1day) = 약 14일 소요
전용선 연결 구조
SKP 11st
Migration
• 재 암호화 : SKP decrypt : flat data à distcp : 11st encrypt
• 고려사항 및 어려웠던 점
• One mapper per file : 하나의 파일에 쓰기 작업 매퍼가 두개 이상 접근하면 오류 발생
• distcp process중 source file이나 destination의 file 변경 일어나면 fail 발생할 수 있음
• 복제 시 block size 보존을 권장, version이 다른 경우 목적지에서 distcp를 수행함
• 11st 클러스터에서 복사하는 경우SKP의 workload를 제거할 수 있으나 (pull방식)
audit 로그를 남기기 위하여 SKP 클러스터에서 distcp를 수행함 (push방식)
• Incremental distcp X : 너무 많은 tiny job overhead à 디렉토리 단위별 단순 distcp 수행
• 네트웍 대역폭을 고려한 설정 : bandwidth 10MB/s per mapper : 전체 mapper 500
• 수십만개 파일변환으로 인한 distcp 재 작업 : non orc à orc
• Permission Error (during Query Execution)
• 모든 파티션 파일에 Owner (UID) / Group (GID) 를 일치
1 복호화
2 테이블 단위
파티션 복사
3 암호화
SKP 11st
Migration
• 데이터 거버넌스 - Thanos Project (저장소 효율화)
• ‘19년 9월 사용률 - 12.8/14.83 PB : 86%, 3월 9.6PB 시작 : 64%
• 월 0.3PB 증가 à 2달 후 90% 도달
“When I’m done, half of DATA will still exist.
Perfectly balanced, as all things should be.”
Migration
• 데이터 거버넌스 - Thanos Project (저장소 효율화)
• 데이터 압축 / 보관주기 관리 / 중단 서비스 데이터 폐기
• ‘19년 9월 사용률 (12.8/14.83 PB : 86%, 3월 9.6PB : 64% 시작)
As-Was (9월초)
→
DLM 적용 (10월)
→
DLM Frozen 적용 (11월 예정)
12.8 PB 사용률 85.62% 9 PB 사용률 60% : 삭제 용량 3.8 PB
이상 (9/26 기준)
8 PB 사용률 54% : 삭제용량 1PB
(추정)
2020년도 저장소 증설 0
= 약 6억 절약 (30대)
•2020년 10월 예상 사이즈 (월 증가량 0.3 PB)
DLM 적용 후 : 9 + 3.6 = 12.6 PB (85%)
DLM Frozen 적용 후 : 8 + 3.6 = 11.6 PB (78.2%)
Compression
Retention
Cycle
(purge)
Freezing
Migration
‘19 10월
access로그
22%
정보계(BI)
17%
광고
16%
추천
16%
검색
11%
로그2.0
8%
운영계(OM)
3%
기타
7%
구분 TB size
access로그 2037.54
정보계(BI) 1580.56
광고 1521.75
추천 1500.71
검색 996.60
로그2.0 699.57
운영계 (OM) 229.92
기타 687.92
합계 9254.57
사용 비율
9.25 / 14.83 PB (62.3%)
Asset
보라매 IDC 일산 IDC
364ea 86ea
Size Used Available Used%
14.83 PB 9.25 PB 4.85 PB 62.3%
보라매 IDC kafka 일산 IDC Kafka
53 topic (3 broker) 63 topic (7 broker)
hourly daily weekly monthly total
30 380 13 13 436
• 스토리지 사이즈
• 테이블 : 4,317 ea
• 배치잡 : 436 ea
• Logagent : 450 ea
• Kafka Topic : 111 ea
서비스 연동
• BI 리포트
• Data Source
• BIDB
• Hive : Log2.0 + 검색 AccessLog
• Solution
• MicroStrategy + Tableau
• Batch Job
• ETL DAG => Oozie Sqoop + Oozie Hive + Oozie Spark
ETL DAG
Job1
ODS
Job2
DW
Job3
Data Mart
Job4
BI Report
서비스 연동
• 추천 서비스
• Data Source
• HDFS + Hive
• Hbase + Phoenix : 자체 적재
• Redis : 자체 적재
• Realtime Job : Flink + Spark Streaming
• Batch Job : Spark ML + Hive
• Platform
• 추천 엔진
• 추천 서버(서빙)
• LogHub
Service Log
적재
추천용
데이터 ETL
OMDB BIDB
추천 엔진
Service
Repository
(ES / MySQL)
Cache /
Realtime
repository
App Push
추천 Server
새로운 여정 2020
Special Thanks
• 11번가
• System Engineering 팀 / Service Engineering 팀
• Platform Engineering 팀 / IT 팀
• SK Planet
• Data Infrastructure팀

More Related Content

What's hot

[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들NAVER D2
 
Cloud Storage Comparison: AWS vs Azure vs Google vs IBM
Cloud Storage Comparison: AWS vs Azure vs Google vs IBMCloud Storage Comparison: AWS vs Azure vs Google vs IBM
Cloud Storage Comparison: AWS vs Azure vs Google vs IBMRightScale
 
[PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System Kwangseob Kim
 
Self service BI overview + Power BI
Self service BI overview + Power BISelf service BI overview + Power BI
Self service BI overview + Power BIArthur Graus
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) Amazon Web Services Korea
 
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...Amazon Web Services
 
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)Seongyun Byeon
 
Presto, Zeppelin을 이용한 초간단 BI 구축 사례
Presto, Zeppelin을 이용한 초간단 BI 구축 사례Presto, Zeppelin을 이용한 초간단 BI 구축 사례
Presto, Zeppelin을 이용한 초간단 BI 구축 사례Hyoungjun Kim
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기NAVER D2
 
[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영NAVER D2
 
The Killer Feature Store: Orchestrating Spark ML Pipelines and MLflow for Pro...
The Killer Feature Store: Orchestrating Spark ML Pipelines and MLflow for Pro...The Killer Feature Store: Orchestrating Spark ML Pipelines and MLflow for Pro...
The Killer Feature Store: Orchestrating Spark ML Pipelines and MLflow for Pro...Databricks
 
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20Amazon Web Services Korea
 
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSAVMware Tanzu Korea
 
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)Amazon Web Services Korea
 
Introduction of cloud native CI/CD on kubernetes
Introduction of cloud native CI/CD on kubernetesIntroduction of cloud native CI/CD on kubernetes
Introduction of cloud native CI/CD on kubernetesKyohei Mizumoto
 
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...Databricks
 
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)Treasure Data, Inc.
 
Postgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuitePostgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuiteEDB
 
Databricks Partner Enablement Guide.pdf
Databricks Partner Enablement Guide.pdfDatabricks Partner Enablement Guide.pdf
Databricks Partner Enablement Guide.pdfssuserb74636
 
컴퓨팅 분야 신규 서비스 - 조상만, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021
컴퓨팅 분야 신규 서비스 - 조상만, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021컴퓨팅 분야 신규 서비스 - 조상만, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021
컴퓨팅 분야 신규 서비스 - 조상만, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021Amazon Web Services Korea
 

What's hot (20)

[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
 
Cloud Storage Comparison: AWS vs Azure vs Google vs IBM
Cloud Storage Comparison: AWS vs Azure vs Google vs IBMCloud Storage Comparison: AWS vs Azure vs Google vs IBM
Cloud Storage Comparison: AWS vs Azure vs Google vs IBM
 
[PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System
 
Self service BI overview + Power BI
Self service BI overview + Power BISelf service BI overview + Power BI
Self service BI overview + Power BI
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
 
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
 
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
 
Presto, Zeppelin을 이용한 초간단 BI 구축 사례
Presto, Zeppelin을 이용한 초간단 BI 구축 사례Presto, Zeppelin을 이용한 초간단 BI 구축 사례
Presto, Zeppelin을 이용한 초간단 BI 구축 사례
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
 
[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영
 
The Killer Feature Store: Orchestrating Spark ML Pipelines and MLflow for Pro...
The Killer Feature Store: Orchestrating Spark ML Pipelines and MLflow for Pro...The Killer Feature Store: Orchestrating Spark ML Pipelines and MLflow for Pro...
The Killer Feature Store: Orchestrating Spark ML Pipelines and MLflow for Pro...
 
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
 
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
 
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
 
Introduction of cloud native CI/CD on kubernetes
Introduction of cloud native CI/CD on kubernetesIntroduction of cloud native CI/CD on kubernetes
Introduction of cloud native CI/CD on kubernetes
 
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
 
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
 
Postgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuitePostgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster Suite
 
Databricks Partner Enablement Guide.pdf
Databricks Partner Enablement Guide.pdfDatabricks Partner Enablement Guide.pdf
Databricks Partner Enablement Guide.pdf
 
컴퓨팅 분야 신규 서비스 - 조상만, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021
컴퓨팅 분야 신규 서비스 - 조상만, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021컴퓨팅 분야 신규 서비스 - 조상만, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021
컴퓨팅 분야 신규 서비스 - 조상만, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021
 

Similar to SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdf

[찾아가는세미나] 클라우드 데이터 가상화솔루션
[찾아가는세미나] 클라우드 데이터 가상화솔루션[찾아가는세미나] 클라우드 데이터 가상화솔루션
[찾아가는세미나] 클라우드 데이터 가상화솔루션해은 최
 
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)SANG WON PARK
 
분산저장시스템 개발에 대한 12가지 이야기
분산저장시스템 개발에 대한 12가지 이야기분산저장시스템 개발에 대한 12가지 이야기
분산저장시스템 개발에 대한 12가지 이야기NAVER D2
 
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106SangHoon Lee
 
사업 실적
사업 실적사업 실적
사업 실적mobigen
 
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...Jemin Huh
 
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기Ted Won
 
Serverless Architecture with Cloud Function
Serverless Architecture with Cloud FunctionServerless Architecture with Cloud Function
Serverless Architecture with Cloud FunctionHarrison Jung
 
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기AWSKRUG - AWS한국사용자모임
 
AWS 활용한 Data Lake 구성하기
AWS 활용한 Data Lake 구성하기AWS 활용한 Data Lake 구성하기
AWS 활용한 Data Lake 구성하기Nak Joo Kwon
 
[2016 데이터 그랜드 컨퍼런스] 2 1(빅데이터). 티맥스 빅데이터시대,더욱중요해진dw를위한어플라이언스전략
[2016 데이터 그랜드 컨퍼런스] 2 1(빅데이터). 티맥스 빅데이터시대,더욱중요해진dw를위한어플라이언스전략[2016 데이터 그랜드 컨퍼런스] 2 1(빅데이터). 티맥스 빅데이터시대,더욱중요해진dw를위한어플라이언스전략
[2016 데이터 그랜드 컨퍼런스] 2 1(빅데이터). 티맥스 빅데이터시대,더욱중요해진dw를위한어플라이언스전략K data
 
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영NAVER D2
 
Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013Gruter
 
SQream DB, GPU-accelerated data warehouse
SQream DB, GPU-accelerated data warehouseSQream DB, GPU-accelerated data warehouse
SQream DB, GPU-accelerated data warehouseNAVER Engineering
 
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝Mungyu Choi
 
빅데이터 구축 사례
빅데이터 구축 사례빅데이터 구축 사례
빅데이터 구축 사례Taehyeon Oh
 
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...hoondong kim
 

Similar to SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdf (20)

[찾아가는세미나] 클라우드 데이터 가상화솔루션
[찾아가는세미나] 클라우드 데이터 가상화솔루션[찾아가는세미나] 클라우드 데이터 가상화솔루션
[찾아가는세미나] 클라우드 데이터 가상화솔루션
 
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
 
분산저장시스템 개발에 대한 12가지 이야기
분산저장시스템 개발에 대한 12가지 이야기분산저장시스템 개발에 대한 12가지 이야기
분산저장시스템 개발에 대한 12가지 이야기
 
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
 
NoSQL
NoSQLNoSQL
NoSQL
 
사업 실적
사업 실적사업 실적
사업 실적
 
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
 
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기
 
Serverless Architecture with Cloud Function
Serverless Architecture with Cloud FunctionServerless Architecture with Cloud Function
Serverless Architecture with Cloud Function
 
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
 
AWS 활용한 Data Lake 구성하기
AWS 활용한 Data Lake 구성하기AWS 활용한 Data Lake 구성하기
AWS 활용한 Data Lake 구성하기
 
[2016 데이터 그랜드 컨퍼런스] 2 1(빅데이터). 티맥스 빅데이터시대,더욱중요해진dw를위한어플라이언스전략
[2016 데이터 그랜드 컨퍼런스] 2 1(빅데이터). 티맥스 빅데이터시대,더욱중요해진dw를위한어플라이언스전략[2016 데이터 그랜드 컨퍼런스] 2 1(빅데이터). 티맥스 빅데이터시대,더욱중요해진dw를위한어플라이언스전략
[2016 데이터 그랜드 컨퍼런스] 2 1(빅데이터). 티맥스 빅데이터시대,더욱중요해진dw를위한어플라이언스전략
 
Hadoop administration
Hadoop administrationHadoop administration
Hadoop administration
 
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영
 
Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013
 
SQream DB, GPU-accelerated data warehouse
SQream DB, GPU-accelerated data warehouseSQream DB, GPU-accelerated data warehouse
SQream DB, GPU-accelerated data warehouse
 
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
 
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
 
빅데이터 구축 사례
빅데이터 구축 사례빅데이터 구축 사례
빅데이터 구축 사례
 
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
 

SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdf

  • 1.
  • 2. • 여정의 시작 • 인프라 편 • 로그 편 • 대용량 데이터 편 • 서비스 편 • 마치며
  • 3. 전득진 (Jeon, DeukJin) dj.jeon@sk.com Data Platform 팀 추천 담당 / Search Center 주식회사 11번가 • 18년차 Software Engineer • ’18.5 : SK Planet • ‘18.9.1 : 11번가
  • 5. ‘18.8월 DI TF 결성 • Mission - 11번가 Data Infra를 구축하라! • Full Time 3명 / Part Time 3명 • 10월 SK Planet 판교 사옥, DIC팀과 동거 시작 신속 & 효율적 SKP DIC Clone 11st DIC
  • 6. Mission • SKP DIC 현황 파악 및 Data Infra 구축 계획 수립 :: 첨부자료 - 우주왕복선 Endeavour 호 (’노력’). 1992년 5월 ~. 2011년 6월.
  • 7. Mission • 구성원들이 구비한 경력과 기술에 따라 3가 지 업무로 분할 • 인프라 구축 • 데이터 입수 파이프라인 구축 • 대용량 데이터 마이그레이션 데이터 마이그레이션 (F/T 1) •Hive Table / HDFS •RDBMS Table / Hive Meta •NoSQL DB 데이터 입수 (P/T 3) •User Log •System Log •DB Data 인프라 (F/T 1) •Hardware •Software - Hadoop eco system (F/T 1)
  • 8. 데이터 인프라 구축 • DI TF 결성 : 2018년 8월. Full Time 3명, Part Time 3명 • DIC 구축 : 12월~2019년 2월. 하둡 인프라 + 데이터 수집 인프라 + 데이터 분석/관리 SW (In-House 개발 S/W) • 데이터 마이그레이션 : 3월. 10 PB • 서비스 마이그레이션 : 4월. 추천 플랫폼, BI 시스템, Log2.0, Ad Platform, Search Platform, Web Scouter, … • Yarn 클러스터 메모리 증설 : 5월 • SKP DIC 사용계약 2개월 조기 종료 : 6월 à 4월 9월 10월 11월 12월 ’19년 1월 2월 3월 4월 5월 DI TF 결성 - DIC 구축 계획, 규모산정, 설계 DIC 구축 (인프라 + 입수 파이프 라인) 데이터 마이그레이션 서비스 마이그레이션 Yarn 메모리 증설 : 4월 13(증설 요청) 5/14~5/28 (증설 완료) SKP DIC 사용계약 조기 종료 : 2개월. 6월 à 4월 추천, BI, Ad, Log2.0 SKP DIC 사용계약 메모리 증설 SKP DIC 분석, 규모산정, 설계, Pilot 구성 하둡Infra + 데이터 SW + 데이터 수집 인프라 Full Mig. 계약 조기종료 메모리 구매 Incremental Mig.
  • 9. Sources 수집 가공 (분석) 저장 User Server DB Sentinel Rake Mirrormaker Kafka Collector Oggre 제공 DW Hive OLAP Druid NoSQL HBase Data Service BI System Reco Seller Analytics ICT Family Yarn-RT Yarn-DI Yarn-mini Query / ML / DL HDFS-DIC HDFS-DSC Batch RealTime Cache Redis Search Query Engine Ad A/B Test ICT Family Logagent Hardware • Architecture
  • 10. Hardware • Total 1K 노드 • HDFS : 3 cluster • DI : 공용 저장소 35 PB • MSM (Hbase) : 추천 전용 저장소 • PIE : 실험 클러스터 • Yarn : 4 cluster 21K vcore / 125 TB vmem • DI : 공용 연산노드 • RT : 실시간 스트림 수집 노드 • ETL : 배치 잡 노드 수행 • mini : DB Import 용 Sqoop 수행 노드 • PIE : 실험 클러스터 SKP • Total 400 노드 • HDFS : 3 cluster • DI : 공용 저장소 15 PB • DSC (Hbase) : 추천 전용 저장소 • Yarn : 4 cluster 11K vcore / 85 TB vmem • DI : 공용 연산 노드 • RT : 실시간 + 배치 잡 수행 노드 • mini : DB Import 용 Sqoop 수행 노드 11st Ingestion Processing Storage Sentinel Rake Kafka Mirrormaker Kafka Collector Oggre Serving DW Hive OLAP Druid NoSQL HBase Yarn-RT Yarn-DI Yarn-mini Query / ML / DL HDFS-DIC HDFS-DSC Batch RealTime Cache Redis Query /Storage Engine Logagent Diet. Diet. 노드 = 1000 ea : 400 ea 가용량 = 35PB : 15PB 사용량 = 18PB : 9PB
  • 11. Hardware Yarn Cluster 메모리 증설 • Yarn Cluster 메모리 부족 이슈 : 4월 중순 (issue-rasing). ’19. 5월 말 (증설 완료) • 현상 : Batch Job 및 Spark ML Job 들이 실패함 • 원인 분석 • 워크로드 대비 부족한 자원 • SKP에서 11번가 BM이 리소스의 70% 소비하였으나, 실제 구성된 리소스는 20%, 50% 이하 • 분사에 따른 전기간 소급 적용 배치 증가 + Data 량 증가에 따른 쿼리 워크로드 + 신규 Machine Learning Job 추가 Yarn Cluster SKP 11st (as-was) 11st (as-is) DI 89 TB 16 TB 58.5 TB RT 35 TB 16 TB 24.8 TB mini 1.2 TB 1.75 TB 1.75 TB Yarn Queue Calibration (allocation) • Fair Scheduler
  • 12. Software SK Planet Data Product 관리도구 • Ganglia / Zabbix / ELK / Grafana • Medic / Scrooge / Probe / CMS • Insomnia / Collector UI / Timebomb • Hue 분석도구 • Galleon / Barrel / Boat(GPU) / Cuckoo • R Studio / Jupyter / Zeppelin 입수도구 • Sentinel / Rake / Logagent / Collector • Oggre / Sqoop / Oozie / Pig • Kafka / Mirrormaker Processing 쿼리엔진 • Hive 1.1 eda-oa / eda-svdi / etl / qc • Hive 2.1 eda-oa / eda-svdi / etl / qc / LLAP In-Memory 쿼리엔진 • Presto / Impala • Spark 1.6~2.2 Yarn • DI / RT / ETL / mini (MR / TEZ) Storage HDFS • DI • MSM Hbase / Phoenix • MSM Kudu • kudu 1.6 DB • MongoDB / Mysql / Oracle(OM/BI) Cache • Redis Etc Middleware • Nginx, Tomcat, RabbitMQ Security • Lightsaber / Querycache / Sentrybox • Sentry, Hive UDF (암복호화) • KMS, IDMS, ActiveDirectory 11st Data Product 관리도구 • Ganglia / Zabbix / Grafana • New Medic / Scrooge / Probe / CMS • Insomnia / Collector UI / Timebomb • Thanos / Thanos Frozen • Hue / Airflow 분석도구 • Galleon / Barrel / Cuckoo • R Studio / Jupyter / Zeppelin / Superset 입수도구 • Sentinel / Rake / Logagent / Collector • Oggre / Sqoop / Oozie • Kafka / Mirrormaker / Flume Processing 쿼리엔진 • Hive 2.1 eda-oa / eda-svdi / etl / qc / LLAP In-Memory 쿼리엔진 • Presto • Spark 2.2 Yarn • DI / RT / mini (MR / TEZ) Storage HDFS • DI • DSC(=MSM) Hbase / Phoenix • DSC(=MSM) DB • MongoDB / Mysql / Oracle(OM/BI) Cache • Redis Etc Middleware • Nginx, Tomcat, RabbitMQ Security • Lightsaber / Querycache / Sentrybox • Sentry, Hive UDF (암복호화) • KMS, IDMS, ActiveDirectory
  • 13. Software • 방대한 솔루션 • 솔루션 체인 • 순환 의존성 QC ßà SentryBox CMS Lock ßà Hive Medic ßà Sentinel
  • 14. 데이터 입수 파이프라인 구축 • Overview Server DB LogAgent Oracle Golden Gate 보라매 IDC 일산 IDC OMDB OMDB Relay MirrorMaker Collector Oggre Sqoop BIDB rake web/was rake client Data Infra Cluster User
  • 15. 데이터 입수 파이프라인 구축 • Log / DB 데이터 수집 현황 데이터유형 수집데이터 수집대상 수집도구 일 수집량 User Log - log2.0 - pc web - modile web - app (ios, android) rake client (in-house) - android, ios, javascript Rake WEB/WAS : 40ea (26/14) 1.4 T Server Log - access log - service log - web server - application server Logagent (in-house) : 450ea kafka : 13ea(보라매 3/ Alp3 / 일산7) Collector : 6ea 29 T DB Data - 업무 데이터 - Main DB - BI DB - AD DB Oggre (in-house) : 2ea Oozie : 2ea Yarn-mini : 5ea 7 T Oggre:209건 Sqoop:245건
  • 16. 데이터 입수 파이프라인 구축 - User Log • App에서 로그 수집 서버 양측에 전송하는 방법 (X) • 로그 수집 서버 한 곳에서 트래픽을 복제하여 전송하는 방법 (O) • Nginx :: post_action : Traffic mirroring • Origin : SKP 1. 11st 로그 입수 파이프라인을 구축 2. 신규 앱 배포 : 사용자 로그를 전송하는 End Point을 변경 (SKP à 11st) • 로그를 양사 DIC로 송출 (Origin : SKP) • 로그입수량을 대조 3. 로그를 양사 DIC로 송출 (Origin : SKP) • 로그입수량을 대조 • 11st 내 로그입수 후 처리 로직을 완성 (마트생성 Workflow)
  • 17. 데이터 입수 파이프라인 구축 - User Log • 구버전 앱 : SKP로 송출 • 신버전 앱 : 11st로 송출 • post_action • Origin : SKP (11st로 트래픽 복제) • Issue : 1% 트래픽 유실 User Log 1% SKP (커머스 IDC) Data Infra Cluster Collector rake was 11st (일산 IDC) Data Infra Cluster Collector rake web/was post_action (1% 유실) old rake client 데이터 복제 new rake client User Log 99%
  • 18. 데이터 입수 파이프라인 구축 - User Log • post_action • Origin : 11st (SKP로 트래픽 복제) User Log 99% SKP (커머스 IDC) Data Infra Cluster Collector rake was 11st (일산 IDC) Data Infra Cluster Collector rake web/was post_action old rake client 데이터 복제 new rake client User Log 1%
  • 19. 데이터 입수 파이프라인 구축 - User Log • 구버전 앱 트래픽 1% : 강제 업데이트 • post_action • Traffic mirroring 제거 • SKP로 로그 송출 중단 User Log 99.9% SKP (커머스 IDC) Data Infra Cluster Collector rake was 11st (일산 IDC) Data Infra Cluster Collector rake web/was old rake client 데이터 복제 new rake client User Log 0.1% post_action 제거
  • 20. 데이터 입수 파이프라인 구축 - System Log • Logagent • 보라매IDC, 일산IDC 양분 • Mirrormaker • 보라매 Kafka à MirrorMaker à 일산 Kafka à Collector à HDFS Server LogAgent 보라매 IDC 일산 IDC Data Platform MirrorMaker Collector
  • 21. Migration Plan 마이그레이션 대상 선별 - 이관 대상 : 계정/Hive DB/HDFS 목록 효율화 대상 선정 - Hive DB별 삭제 대상/ 보관주기 대상/ 유지 대상 목록 재암호화 대상 점검 마이그레이션 시나리오 수립 - 마이그레이션 프로세스 공지 및 설명회 마이그레이션 수행
  • 24. Migration • 마이그레이션 대상 식별 : 전체 33PB • 데이터 Owner 대상 설명회 수행 => 전수 조사 / 사용 여부 조사 • 적극적인 참여로 • 11st 데이터만 16PB --> 10PB (40% 효율화 성공) 30PB 16PB 10PB
  • 25. Migration • 마이그레이션 대상별 진행방식 : • HDFS + Hive : inter cluster distcp • Druid • Mysql : dump & import • MongoDB : dump & import • Hbase : raw data 기반으로 재 적재 • Redis : Hbase 기반으로 재 적재 • HDFS만 10PB : cluster간 Network Bandwidth = 40G • 이론적 복제 시간 : 432TB(1day) * 80%(buffer) = 350TB • 주요 업무시간 제외한 나머지 12시간 복제 시 소요 기간 3333TB(Usable) / 175TB(12시간) = 19일 + 5일(buffer) • 실제 복제 기간 : 240TB(1day) = 약 14일 소요 전용선 연결 구조 SKP 11st
  • 26. Migration • 재 암호화 : SKP decrypt : flat data à distcp : 11st encrypt • 고려사항 및 어려웠던 점 • One mapper per file : 하나의 파일에 쓰기 작업 매퍼가 두개 이상 접근하면 오류 발생 • distcp process중 source file이나 destination의 file 변경 일어나면 fail 발생할 수 있음 • 복제 시 block size 보존을 권장, version이 다른 경우 목적지에서 distcp를 수행함 • 11st 클러스터에서 복사하는 경우SKP의 workload를 제거할 수 있으나 (pull방식) audit 로그를 남기기 위하여 SKP 클러스터에서 distcp를 수행함 (push방식) • Incremental distcp X : 너무 많은 tiny job overhead à 디렉토리 단위별 단순 distcp 수행 • 네트웍 대역폭을 고려한 설정 : bandwidth 10MB/s per mapper : 전체 mapper 500 • 수십만개 파일변환으로 인한 distcp 재 작업 : non orc à orc • Permission Error (during Query Execution) • 모든 파티션 파일에 Owner (UID) / Group (GID) 를 일치 1 복호화 2 테이블 단위 파티션 복사 3 암호화 SKP 11st
  • 27. Migration • 데이터 거버넌스 - Thanos Project (저장소 효율화) • ‘19년 9월 사용률 - 12.8/14.83 PB : 86%, 3월 9.6PB 시작 : 64% • 월 0.3PB 증가 à 2달 후 90% 도달 “When I’m done, half of DATA will still exist. Perfectly balanced, as all things should be.”
  • 28. Migration • 데이터 거버넌스 - Thanos Project (저장소 효율화) • 데이터 압축 / 보관주기 관리 / 중단 서비스 데이터 폐기 • ‘19년 9월 사용률 (12.8/14.83 PB : 86%, 3월 9.6PB : 64% 시작) As-Was (9월초) → DLM 적용 (10월) → DLM Frozen 적용 (11월 예정) 12.8 PB 사용률 85.62% 9 PB 사용률 60% : 삭제 용량 3.8 PB 이상 (9/26 기준) 8 PB 사용률 54% : 삭제용량 1PB (추정) 2020년도 저장소 증설 0 = 약 6억 절약 (30대) •2020년 10월 예상 사이즈 (월 증가량 0.3 PB) DLM 적용 후 : 9 + 3.6 = 12.6 PB (85%) DLM Frozen 적용 후 : 8 + 3.6 = 11.6 PB (78.2%) Compression Retention Cycle (purge) Freezing
  • 29. Migration ‘19 10월 access로그 22% 정보계(BI) 17% 광고 16% 추천 16% 검색 11% 로그2.0 8% 운영계(OM) 3% 기타 7% 구분 TB size access로그 2037.54 정보계(BI) 1580.56 광고 1521.75 추천 1500.71 검색 996.60 로그2.0 699.57 운영계 (OM) 229.92 기타 687.92 합계 9254.57 사용 비율 9.25 / 14.83 PB (62.3%)
  • 30. Asset 보라매 IDC 일산 IDC 364ea 86ea Size Used Available Used% 14.83 PB 9.25 PB 4.85 PB 62.3% 보라매 IDC kafka 일산 IDC Kafka 53 topic (3 broker) 63 topic (7 broker) hourly daily weekly monthly total 30 380 13 13 436 • 스토리지 사이즈 • 테이블 : 4,317 ea • 배치잡 : 436 ea • Logagent : 450 ea • Kafka Topic : 111 ea
  • 31. 서비스 연동 • BI 리포트 • Data Source • BIDB • Hive : Log2.0 + 검색 AccessLog • Solution • MicroStrategy + Tableau • Batch Job • ETL DAG => Oozie Sqoop + Oozie Hive + Oozie Spark ETL DAG Job1 ODS Job2 DW Job3 Data Mart Job4 BI Report
  • 32. 서비스 연동 • 추천 서비스 • Data Source • HDFS + Hive • Hbase + Phoenix : 자체 적재 • Redis : 자체 적재 • Realtime Job : Flink + Spark Streaming • Batch Job : Spark ML + Hive • Platform • 추천 엔진 • 추천 서버(서빙) • LogHub Service Log 적재 추천용 데이터 ETL OMDB BIDB 추천 엔진 Service Repository (ES / MySQL) Cache / Realtime repository App Push 추천 Server
  • 34. Special Thanks • 11번가 • System Engineering 팀 / Service Engineering 팀 • Platform Engineering 팀 / IT 팀 • SK Planet • Data Infrastructure팀