AWS 활용한
Data Lake구성하기
직방 권낙주
목 차
• Data Lake 나온 배경
• Data Lake Architecture 구성
• Data Lake 위한 AWS Service
• Data Lake 구성방안
• Report 및 Demo
• 직방 데이터 분석팀
• 데이터 Architecture
• 꿈꾸는 데이터 Architecture
Data Lake 나온 배경
Data Lake 나온 배경
직방 서비스 소개
사용자
중개사
Data Lake 나온 배경
• 아파트 단지 별 일/주/월 조회 수 데이터 뽑을 수 있나요?
• 원룸 매물 별 조회수 일/주/월 데이터 뽑을 수 있나요?
• 지역별 서비스 별 조회수 구할 수 있나요?
• 현재 사용자가 조회한 아파트 단지 조회 수 실시간으로 볼 수 있나요?
요구사항
Data Lake 나온 배경
• GA(Google Analytics) 에서만 데이터 쌓고 있음.
• 현재 해당 데이터 내부 시스템에 쌓고 있지 않음.
• GA는 현재 하루에 쌓아야 할 수 있는 데이터 Event수를 넘어서 유료 전환해야 함.
• GA는 현재 무료사용자이기때문에 데이터가 정확하지 않음.
현황 조사
Data Lake 나온 배경
현황 조사
GTM
(Google Tag Manager)
LambdaAmazon
API
Gateway*
Mobile
Event Mysql
Data Lake 나온 배경
데이터 수집
Instance : db.r4.large
vCPU 2 , Momory 15G
AWS Cloud
Internet
Data Lake 나온 배경
• 일데이터 1천만건
• 일별로 Partition
• 데이터 뽑을 수 있나요?
현황파악
Data Lake 나온 배경
Scale UP 해보시죠
CPU, Memory
Instance : db.r4.large Instance : db.r4.xlarge
Data Lake 나온 배경
• SQL 조회가 않된다
Big Data 분석이 있다는데?
googling
13
Data Lake 나온 배경
Data Lake 나온 배경
Data Lake Architecture 구성
Data Lake Architecture 구성
AWS
Lambda
Amazon
S3
Amazon
RDS
Amazon
Redshift
AWS DMS
Amazon EMR
Amazon
Athena
Amazon ES
AmazonKinesis
Streams
AmazonKinesis
Firehose
AmazonKinesis
Analytics
Amazon
Kinesis
AWS Data
Pipeline
AWS Glue
Amazon API
Gateway
Amazon
DynamoDB
수집 처리/분석 저장
일 로그건수 : 800 ~ 900만건
분석을 어떻게 할 것인가?
최근에 가장 Hot한 도구들
Data Lake Architecture 구성
AWS EMR
분석을 어떻게 할 것인가?
Data Lake Architecture 구성
Data Lake Architecture 구성 V 0.1
Raw Bucket
Amazon
S3
LambdaAmazon API
Gateway*
Mobile
Event Tableur
Zeppelin
backup
RDS
sqoop
중복제거작업
(9:20)
S3 Copy
(11:30)
수집/가공 저장/가공/분석 Visualization/공유/분석
실시간 처리
DW RDS
개발팀 데이터분석팀
개선된 점
1. 내부 데이터로 Dau, Wau, Mau 생성이 가능해졌다
2. 사용자에 대한 분석이 가능해졌다.
3. 아파트 별 일자 별 조회수가 가능해졌다.
4. 서비스별 일자별 조회수가 가능해졌다.
5. 서비스별 Dau 조회가 가능해졌다.
6. 현제 Raw Data만 있다면 1일 내로 요청Use case에 대해서 데이터를 처리가 가능해졌다
7. 빅데이터 분석의 희망이 보임
20
Data Lake Architecture 구성 V 0.1
남은 문제점
1. 수집
- Push 같은 Event발생시에 RDS가 평소대비 CPU 사용량이 5배 올라감.
- Mysql 서비스에 과도한 Server 비용
- Mysql 관리가 항상 필요하다.
2. 분석
- Data Warehouse(DW) 용의 RDS 비용
- Data Warehouse(DW) 용량의 지속적 Scale UP이 필요
3. 공유
- DW 기반으로 제공Data 느리다
- 너무 늦은 시간에 데이터 공유
21
Data Lake Architecture 구성 V 0.1
Data Lake Architecture 구성 V 0.2
Transformed Data
Bucket
Raw Bucket
Amazon
S3
Lambda
Amazon API
Gateway*
데이터생성
Tableur
Zeppelin
backup
RDS
sqoop
중복제거작업
(9:20)
S3 Copy
(11:30)
수집/가공 저장/가공/분석 Visualization/공유
실시간 처리
Kinesis FirehoseKinesis Streams
DataMart
RDS
DW RDS
1. 개선된 사항
ü 이벤트에 의한 과도한 몰림 현상을 극복
ü 아침시간에 데이터 공유가 가능해졌다.
ü 오전에 데이터를 통한 회의가 가능해짐
2. 남은 문제
ü Cloud Tableau 서비스라 느림
ü DW 기반으로 제공 Data 느리다
ü Meta 관리가 되지 않는다.
23
Data Lake Architecture 구성 V 0.2
Apache Superset
Amazon
S3
AmazonKinesis
Streams
AWS Glue
users AmazonKinesis
Firehose
Amazon EMR
Amazon API
Gateway
Amazon
Athena
Lambda
function
Data Lake Architecture 구성
Data Lake 위한 AWS Service
1. AWS Glue
정의: ETL(Extract Transform Load) 워크플로우를 정의하고 관리할 수 있습니다
1. Data Catalog: Meta Data Store 입니다.
2. AWS Glue Crawlers
ü 리포지토리에서 데이터를 스캔하고 분류, 스키마 정보를 추출 및 AWS Glue Data Catalog에서
자동적으로 Metadata를 저장하는 Crawlers 를 설정할 수 있습니다
3. AWS Glue ETL WorkFlow
ü AWS Glue Jobs System
ü Trigger 기능
1. AWS Glue
AWS Glue Data Catalog : Data Store
2. AWS EMR
AWS EMR 란?
AWS에서 Apache 하둡 및 Apache Spark와 같은 빅 데이터 프레임워크 실행을 간소화하는 관리형 클러스터 플랫폼입
니다
Master Node :
클러스터를 관리
노드간에 데이터 및 작업의 분배를 조정
작업 상태를 추적하고 클러스터의 상태를 모니터링
Core Node :
Data Node , 클러스터의 HDFS에 데이터를 저장하는 노드
하나이상의 Core Node가 있어야함.
Task Node :
No HDFS , Provides compute resources
Task Node 는 Optional 이다.
Core Task
29
ü EMR Cluster를 종료 후에 다시 신규 EMR Cluster를 구성해도 기존데이터를 읽을 수 있다.
ü HDFS의 용량 확장에 대해서 신경을 쓰지 않아도 된다.
ü Both in IOPs and data storage
ü Amazon guarantees ... 11 x 9's" durability
ü Build elastic clusters
• Add nodes to read from Amazon S3
• Remove nodes with data safe on Amazon S3
HDFS로 S3를 사용했을 때의 장점
2. AWS EMR
Data Lake 구성방안
Batch-Processing
Engine
Real-Time
Processing Engine
데이터생성 Visualization
Data Cataloging (AWS Glue)
Data Security and Governance
Echo
IoT
rule
Data Lake 구성 방안
Amazon ES Amazon
Redshift*
AmazonKinesis
Firehose
AmazonKinesis
Streams
AmazonKinesis
Analytics
AWS DMS
Amazon
DynamoDB
Amazon
RDSS3 Data Lake
Raw Data
Store
Amazon
Pinpoint*
Analytical Sandboxes
Data
Discovery
Predictive
Modeling
Internet
Amazon API
Gateway
Data Lambda Architecture
Serving
Data Store
1. Bigdata 분석 환경
ü Cloud를 사용하라
ü Cloud 장점인 Infra를 Coding 하라.
2. 저장
ü S3에 저장하라
ü 모든 데이터(sns, 사진, 비디오 등)를 저장하라
ü 압축하라(Parquet 형식으로 저장)
ü Partitioning 하라
3. 분석
ü Serverless를 추구
ü EMR 활용시 Spot Instance 를 최대한 활용하라
4. Governance
ü Metadata 관리 ( AWS Glue )
Data Lake 구성 방안
32
Report & Demo
일자별 Dau
Report
5k
4k
3k
2k
1k
AWS 활용한 Data Lake 구성하기

AWS 활용한 Data Lake 구성하기

  • 1.
  • 2.
    목 차 • DataLake 나온 배경 • Data Lake Architecture 구성 • Data Lake 위한 AWS Service • Data Lake 구성방안 • Report 및 Demo
  • 3.
    • 직방 데이터분석팀 • 데이터 Architecture • 꿈꾸는 데이터 Architecture
  • 4.
  • 5.
    Data Lake 나온배경 직방 서비스 소개 사용자 중개사
  • 6.
    Data Lake 나온배경 • 아파트 단지 별 일/주/월 조회 수 데이터 뽑을 수 있나요? • 원룸 매물 별 조회수 일/주/월 데이터 뽑을 수 있나요? • 지역별 서비스 별 조회수 구할 수 있나요? • 현재 사용자가 조회한 아파트 단지 조회 수 실시간으로 볼 수 있나요? 요구사항
  • 7.
    Data Lake 나온배경 • GA(Google Analytics) 에서만 데이터 쌓고 있음. • 현재 해당 데이터 내부 시스템에 쌓고 있지 않음. • GA는 현재 하루에 쌓아야 할 수 있는 데이터 Event수를 넘어서 유료 전환해야 함. • GA는 현재 무료사용자이기때문에 데이터가 정확하지 않음. 현황 조사
  • 8.
    Data Lake 나온배경 현황 조사 GTM (Google Tag Manager)
  • 9.
    LambdaAmazon API Gateway* Mobile Event Mysql Data Lake나온 배경 데이터 수집 Instance : db.r4.large vCPU 2 , Momory 15G AWS Cloud Internet
  • 10.
    Data Lake 나온배경 • 일데이터 1천만건 • 일별로 Partition • 데이터 뽑을 수 있나요? 현황파악
  • 11.
    Data Lake 나온배경 Scale UP 해보시죠 CPU, Memory Instance : db.r4.large Instance : db.r4.xlarge
  • 12.
    Data Lake 나온배경 • SQL 조회가 않된다
  • 13.
    Big Data 분석이있다는데? googling 13 Data Lake 나온 배경
  • 14.
  • 15.
  • 16.
    Data Lake Architecture구성 AWS Lambda Amazon S3 Amazon RDS Amazon Redshift AWS DMS Amazon EMR Amazon Athena Amazon ES AmazonKinesis Streams AmazonKinesis Firehose AmazonKinesis Analytics Amazon Kinesis AWS Data Pipeline AWS Glue Amazon API Gateway Amazon DynamoDB 수집 처리/분석 저장
  • 17.
    일 로그건수 :800 ~ 900만건 분석을 어떻게 할 것인가? 최근에 가장 Hot한 도구들 Data Lake Architecture 구성
  • 18.
    AWS EMR 분석을 어떻게할 것인가? Data Lake Architecture 구성
  • 19.
    Data Lake Architecture구성 V 0.1 Raw Bucket Amazon S3 LambdaAmazon API Gateway* Mobile Event Tableur Zeppelin backup RDS sqoop 중복제거작업 (9:20) S3 Copy (11:30) 수집/가공 저장/가공/분석 Visualization/공유/분석 실시간 처리 DW RDS 개발팀 데이터분석팀
  • 20.
    개선된 점 1. 내부데이터로 Dau, Wau, Mau 생성이 가능해졌다 2. 사용자에 대한 분석이 가능해졌다. 3. 아파트 별 일자 별 조회수가 가능해졌다. 4. 서비스별 일자별 조회수가 가능해졌다. 5. 서비스별 Dau 조회가 가능해졌다. 6. 현제 Raw Data만 있다면 1일 내로 요청Use case에 대해서 데이터를 처리가 가능해졌다 7. 빅데이터 분석의 희망이 보임 20 Data Lake Architecture 구성 V 0.1
  • 21.
    남은 문제점 1. 수집 -Push 같은 Event발생시에 RDS가 평소대비 CPU 사용량이 5배 올라감. - Mysql 서비스에 과도한 Server 비용 - Mysql 관리가 항상 필요하다. 2. 분석 - Data Warehouse(DW) 용의 RDS 비용 - Data Warehouse(DW) 용량의 지속적 Scale UP이 필요 3. 공유 - DW 기반으로 제공Data 느리다 - 너무 늦은 시간에 데이터 공유 21 Data Lake Architecture 구성 V 0.1
  • 22.
    Data Lake Architecture구성 V 0.2 Transformed Data Bucket Raw Bucket Amazon S3 Lambda Amazon API Gateway* 데이터생성 Tableur Zeppelin backup RDS sqoop 중복제거작업 (9:20) S3 Copy (11:30) 수집/가공 저장/가공/분석 Visualization/공유 실시간 처리 Kinesis FirehoseKinesis Streams DataMart RDS DW RDS
  • 23.
    1. 개선된 사항 ü이벤트에 의한 과도한 몰림 현상을 극복 ü 아침시간에 데이터 공유가 가능해졌다. ü 오전에 데이터를 통한 회의가 가능해짐 2. 남은 문제 ü Cloud Tableau 서비스라 느림 ü DW 기반으로 제공 Data 느리다 ü Meta 관리가 되지 않는다. 23 Data Lake Architecture 구성 V 0.2
  • 24.
    Apache Superset Amazon S3 AmazonKinesis Streams AWS Glue usersAmazonKinesis Firehose Amazon EMR Amazon API Gateway Amazon Athena Lambda function Data Lake Architecture 구성
  • 25.
    Data Lake 위한AWS Service
  • 26.
    1. AWS Glue 정의:ETL(Extract Transform Load) 워크플로우를 정의하고 관리할 수 있습니다 1. Data Catalog: Meta Data Store 입니다. 2. AWS Glue Crawlers ü 리포지토리에서 데이터를 스캔하고 분류, 스키마 정보를 추출 및 AWS Glue Data Catalog에서 자동적으로 Metadata를 저장하는 Crawlers 를 설정할 수 있습니다 3. AWS Glue ETL WorkFlow ü AWS Glue Jobs System ü Trigger 기능
  • 27.
    1. AWS Glue AWSGlue Data Catalog : Data Store
  • 28.
    2. AWS EMR AWSEMR 란? AWS에서 Apache 하둡 및 Apache Spark와 같은 빅 데이터 프레임워크 실행을 간소화하는 관리형 클러스터 플랫폼입 니다 Master Node : 클러스터를 관리 노드간에 데이터 및 작업의 분배를 조정 작업 상태를 추적하고 클러스터의 상태를 모니터링 Core Node : Data Node , 클러스터의 HDFS에 데이터를 저장하는 노드 하나이상의 Core Node가 있어야함. Task Node : No HDFS , Provides compute resources Task Node 는 Optional 이다. Core Task
  • 29.
    29 ü EMR Cluster를종료 후에 다시 신규 EMR Cluster를 구성해도 기존데이터를 읽을 수 있다. ü HDFS의 용량 확장에 대해서 신경을 쓰지 않아도 된다. ü Both in IOPs and data storage ü Amazon guarantees ... 11 x 9's" durability ü Build elastic clusters • Add nodes to read from Amazon S3 • Remove nodes with data safe on Amazon S3 HDFS로 S3를 사용했을 때의 장점 2. AWS EMR
  • 30.
  • 31.
    Batch-Processing Engine Real-Time Processing Engine 데이터생성 Visualization DataCataloging (AWS Glue) Data Security and Governance Echo IoT rule Data Lake 구성 방안 Amazon ES Amazon Redshift* AmazonKinesis Firehose AmazonKinesis Streams AmazonKinesis Analytics AWS DMS Amazon DynamoDB Amazon RDSS3 Data Lake Raw Data Store Amazon Pinpoint* Analytical Sandboxes Data Discovery Predictive Modeling Internet Amazon API Gateway Data Lambda Architecture Serving Data Store
  • 32.
    1. Bigdata 분석환경 ü Cloud를 사용하라 ü Cloud 장점인 Infra를 Coding 하라. 2. 저장 ü S3에 저장하라 ü 모든 데이터(sns, 사진, 비디오 등)를 저장하라 ü 압축하라(Parquet 형식으로 저장) ü Partitioning 하라 3. 분석 ü Serverless를 추구 ü EMR 활용시 Spot Instance 를 최대한 활용하라 4. Governance ü Metadata 관리 ( AWS Glue ) Data Lake 구성 방안 32
  • 33.
  • 34.