SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
• 여정의 시작
• 인프라 편
• 로그 편
• 대용량 데이터 편
• 서비스 편
• 마치며
전득진 (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팀

Contenu connexe

Tendances

[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들NAVER D2
 
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017Amazon Web Services Korea
 
Modern Data Flow
Modern Data FlowModern Data Flow
Modern Data Flowconfluent
 
역삼역, 이마트 AI_v최종.pdf
역삼역, 이마트 AI_v최종.pdf역삼역, 이마트 AI_v최종.pdf
역삼역, 이마트 AI_v최종.pdfDeukJin Jeon
 
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기Kee Hoon Lee
 
Real-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Real-Life Use Cases & Architectures for Event Streaming with Apache KafkaReal-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Real-Life Use Cases & Architectures for Event Streaming with Apache KafkaKai Wähner
 
Frame - Feature Management for Productive Machine Learning
Frame - Feature Management for Productive Machine LearningFrame - Feature Management for Productive Machine Learning
Frame - Feature Management for Productive Machine LearningDavid Stein
 
Confluent Workshop Series: ksqlDB로 스트리밍 앱 빌드
Confluent Workshop Series: ksqlDB로 스트리밍 앱 빌드Confluent Workshop Series: ksqlDB로 스트리밍 앱 빌드
Confluent Workshop Series: ksqlDB로 스트리밍 앱 빌드confluent
 
클라우드 네이티브 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
 
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen SinkRedis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen SinkDatabricks
 
Architecture Patterns for Event Streaming (Nick Dearden, Confluent) London 20...
Architecture Patterns for Event Streaming (Nick Dearden, Confluent) London 20...Architecture Patterns for Event Streaming (Nick Dearden, Confluent) London 20...
Architecture Patterns for Event Streaming (Nick Dearden, Confluent) London 20...confluent
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWSMatthew (정재화)
 
[Confluent] 실시간 하이브리드, 멀티 클라우드 데이터 아키텍처로 빠르게 혀...
[Confluent] 실시간 하이브리드, 멀티 클라우드 데이터 아키텍처로 빠르게 혀...[Confluent] 실시간 하이브리드, 멀티 클라우드 데이터 아키텍처로 빠르게 혀...
[Confluent] 실시간 하이브리드, 멀티 클라우드 데이터 아키텍처로 빠르게 혀...confluent
 
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...AWSKRUG - AWS한국사용자모임
 
Mainframe Integration, Offloading and Replacement with Apache Kafka
Mainframe Integration, Offloading and Replacement with Apache KafkaMainframe Integration, Offloading and Replacement with Apache Kafka
Mainframe Integration, Offloading and Replacement with Apache KafkaKai Wähner
 
Hardening Kafka Replication
Hardening Kafka Replication Hardening Kafka Replication
Hardening Kafka Replication confluent
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기NAVER D2
 
Kafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKai Wähner
 
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Henning Jacobs
 

Tendances (20)

[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
 
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
 
Modern Data Flow
Modern Data FlowModern Data Flow
Modern Data Flow
 
역삼역, 이마트 AI_v최종.pdf
역삼역, 이마트 AI_v최종.pdf역삼역, 이마트 AI_v최종.pdf
역삼역, 이마트 AI_v최종.pdf
 
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
 
Apache Kafka Best Practices
Apache Kafka Best PracticesApache Kafka Best Practices
Apache Kafka Best Practices
 
Real-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Real-Life Use Cases & Architectures for Event Streaming with Apache KafkaReal-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Real-Life Use Cases & Architectures for Event Streaming with Apache Kafka
 
Frame - Feature Management for Productive Machine Learning
Frame - Feature Management for Productive Machine LearningFrame - Feature Management for Productive Machine Learning
Frame - Feature Management for Productive Machine Learning
 
Confluent Workshop Series: ksqlDB로 스트리밍 앱 빌드
Confluent Workshop Series: ksqlDB로 스트리밍 앱 빌드Confluent Workshop Series: ksqlDB로 스트리밍 앱 빌드
Confluent Workshop Series: ksqlDB로 스트리밍 앱 빌드
 
클라우드 네이티브 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
 
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen SinkRedis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
 
Architecture Patterns for Event Streaming (Nick Dearden, Confluent) London 20...
Architecture Patterns for Event Streaming (Nick Dearden, Confluent) London 20...Architecture Patterns for Event Streaming (Nick Dearden, Confluent) London 20...
Architecture Patterns for Event Streaming (Nick Dearden, Confluent) London 20...
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
 
[Confluent] 실시간 하이브리드, 멀티 클라우드 데이터 아키텍처로 빠르게 혀...
[Confluent] 실시간 하이브리드, 멀티 클라우드 데이터 아키텍처로 빠르게 혀...[Confluent] 실시간 하이브리드, 멀티 클라우드 데이터 아키텍처로 빠르게 혀...
[Confluent] 실시간 하이브리드, 멀티 클라우드 데이터 아키텍처로 빠르게 혀...
 
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
 
Mainframe Integration, Offloading and Replacement with Apache Kafka
Mainframe Integration, Offloading and Replacement with Apache KafkaMainframe Integration, Offloading and Replacement with Apache Kafka
Mainframe Integration, Offloading and Replacement with Apache Kafka
 
Hardening Kafka Replication
Hardening Kafka Replication Hardening Kafka Replication
Hardening Kafka Replication
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기
 
Kafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid Cloud
 
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
 

Similaire à 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
 

Similaire à 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팀