728x90
본 글은 크롱 - 린하게 구축하는 스타트업 데이터 파이프 라인을 토대로 작성된 글 입니다.
https://devground.hanbit.co.kr/devground_2019/
스타트업의 데이터 팀 구성
- 데이터 인프라 : 파이프라인 구축 및 자동화 (서버 엔지니어링, 관련 솔루션 도입, 자동화 등)
- Analysis : KPI 정의 및 관리 (지표 정의, BI Tool도입) / Ad-Hoc Analysis (고객 세그멘테이션, 고객행동/패널 분석, 마케팅효율 분석 등)
- ML/DL : 개인 맞춤추천 등
다양한 관점에 따른 데이터 요청이 증가하기 때문에, Data pipeline을 구축 해야한다.
- 사용자가 어떤 디바이스로 접속을 했는지, 어떤 서버 로그등 각종 트래킹 정보를 잘 저장하도록 구성
- 저장된 데이터를 대용량 데이터처리 프레임위크를 통해서 정제
- 정제된 데이터를 Data warehouse에 넣은 후 각 파트별로 활용하기 쉽도록 각종 BI툴을 통해 조직 내에 공급하도록 설정
이를 구현하기 위해 선행되어야 할 단계
- 저장 공간에 대한 정의, 저장 공간에 어떠한 데이터를 넣을 것인가
- 데이터가 무분별하게 들어왔을 경우 데이터 관리 룰 정의
룰 정의를 위한 수집 데이터 분류 - Data Lake
- 유형별 분류
- 로그 데이터 : User Action Event Log, 고객센터, CTI, Call Log, 서버 로그 ...
- 운영 / 상품 데이터 : 상품 주문, 적립금 관리, 카테고리 관리 ...
- 통계 데이터 : Google Analytics, App Report, Marketing Report
- 주기별 분류
- 기간별 : Daily, Weekly, Monthly
- 실시간성 : 사용자 클릭, 주문 정보 등
Data Lake Needs Definition
- 수집 데이터는 '한곳' 에 저장해야 한다
- 저장 & 처리 공간이 유연해야 한다.
- 데이터 생애 주기(Data Life Cycle) 정의가 가능해야 한다.
- 안정적으로 서비스가 운영되어야 한다 (운영용, 통계용 DB Computing Resource 분리)
- 데이터 관련 다양한 솔루션들과 호환이 쉬워야 한다.
데이터의 경우, S3에 저장, 실시간으로 계속 트래킹해야 하는 데이터의 경우에는 Amazon Elasticsearch로 realtime으로 넣는다.
- Cold Data : AWS의 메모리 영역에 넣고
- Warm Data
S3에서 데이터 생애 주기에 따라 처리
초기에는 EC2에 Jupyter로 서버를 구성해서 운영 > AWS Elastic MapReduce로 구성 (대용량 데이터 처리환경을 만들 수 있다.)
EMR - Jupyter Hub 제공 가능
EMR - Zeppelin (실시간 잡을 보는 것)
EMR - Ganglia (Cluster Monitor System)
Deploy - Data Warehouse & BI
Data Warehous : Redshift (lead양이 많은 데이터)
Data Warehous : 바로 S3 (lead양이 적은 데이터)
BI이전 작업 : AWS Quicksight > Power BI (전략, 마케팅)
728x90
댓글