3. 빅데이터를 하기 전에 고려해야 할 사항
첫째, 레거시 시스템이 있다면 그냥 그걸 쓰는게 제일 좋다
ROI 을 고려해야 한다
투자도 중요하지만 운영에 들어가는 비용이 적지 않다
둘째, 솔루션만으로는 절대로 해결할 수 없다.
아웃소싱만으론 가질 수 없다.
내재화를 처음부터 고려해야 한다.
인력을 아웃소싱하는 것이 아니라 인력을 키워야 한다.
자기 데이터를 남에게 줄 수는 없다.
셋째, 데이터가 없으면 하지 말아야 한다
없으면 먼저 데이터를 모으는 일부터 해야 한다.
넷째, 데이터가 적다고, 회사가 작다고 빅데이터 기술을 못쓰는 것은 아니다
ROI에 따라 스타트업, 작은 중소기업에서도 필요하다
클라우드 컴퓨팅 환경이 있다.
국내에서는 대부분 빅데이터 기술을 가지고 스몰데이터를 다루고 있다
하지만 미래를 위해서 이러한 투자는 반드시 필요하다
5. 서비스 회사는 데이터 기반의 회사
Service User
New
Data Model
Metadata
Usage
Log
Improve
Service/Decision
Monetize
New Service
Value
Creation
Discovery
Data
Analyzing
2 Phases of Data Driven Business
끓임없는 고객 분석 및 서비스 개선 새로운 가치 창출, 신규 서비스
6. 특히, 검색회사에서 하는 일들…
출처: http://www.ibm.com/developerworks/web/library/wa-lucene2/
storage
Crawling
Analyzing
Serving
Real-time
Batch
Crawler
Analyzing
Parsing
7. 웹크롤 시스템
문서를 크롤하면 (> 10억건)
메타데이터 저장
HTML 저장
제목, 본문 추출
이미지 추출
썸네일 생성
원본 이미지 저장
Structured Data
Unstructured Data
Multimedia Data
Semi-structured Data
대용량의 크롤데이터 저장 및 호스트, URL, 문서 분석을 위해서 하둡, HBase, MySQL 등을 모두 활용
8. 웹문서 분석 시스템
중복 문서 제거
스팸 문서
성인 필터링
검색 랭킹 계산
문서 클러스터링
기타 문서 데이터 분석
(Pig + UDF ) + Python + Shell
Java Map-Reduce program
- 분석 데이터의 종류와 범위에 따라서 다양한 주기로 설정된 스케줄로 프로세스들이 실행
- 프로세스의 우선 순위에 따라 Pig & MR Job에 우선순위와 리소스를 상이하게 할당
Hadoop & HBase 는 이미 몇 년된 레거시 시스템
그러나, 꾸준히 튜닝하고 테스트하고 …
10. 줌데이터 플랫폼 (시스템 측면)
로그 수집 체계
로그 포맷 표준화 (JSON, Apache Log Format)
중앙 데이터 저장소 구축 (HDFS)
로그 데이터 수집 프레임워크 개발 (Flume-ng, Fluentd)
Access log
ZUM service log
Application log
로그 데이터 분석시스템
Hive 가 메인 도구
Job Scheduler
Pig 는 Hive Table 을 생성하는 전처리(ETL) 용 스크립트
11. 줌데이터 플랫폼 (프로세스 측면)
고정 지표
상시 분석해서 결과를 파악해야 하는 지표
공통 지표 정의
서비스별 지표 정의
배치성 지표
실시간성 지표
유동 지표
서비스별로 필요한 경우에 따라서 파악할 지표
중요도에 따라 고정지표로 전환
자동화의 대상
Ad-hoc 업무
데이터 분석 업무가 기존 개발자에서
기획자, 데이터 분석가의 손에서 다루어질 수 있도록
12. Service 1
… …
Service N
Service N+1
…
줌데이터 플랫폼
Log
Agen
t
Flume-NG
Data Repository (HDFS)
Log
Agen
t
Log
Agen
t
Log
Agen
t
Log
Agen
t
WebHDFS
Raw data
Hive
Table
목적
DB
(File)
변환 분석
Web Browser
Job
Scheduler
Data
Viewer
Hive
Console
Reporting
Server
R
Excel
Text File
DBMS
(MySQL)
Service 1
Service 2
… …
Service
Server
Service
Server…
fusefuse
Hive 는 Metadata 을 담고 있음
SQL 은 개발자가 아닌 기획자들도 간편히 로직 구현 가능
Real-time Analyzer
(ESPER)
TCP/IP
adapter
시스템엔지니어는 로그용량을 고려하여 설정이 된 에이전트 설치
개발자는 Pig등을 이용해서
Raw Data를 Hive Data 등으로 변환
실시간결과
pig
13. 로그데이터 분석 업무 프로세스 개선
데이터분석담당 개발자
데이터 추출 결과 확인
URL 추출 조건 확인 후 추출 요청
1) 추출된 데이터 확인
2) 추출 조건 수정하여 재 추출
기획자
데이터 추출 요청
데이터 전달
데이터분석담당
기획자
데이터 추출 요청
데이터 전달
소프트웨어 개발자
데이터 처리
플랫폼 구현
데이터 분석가
분석로직
데이터 검증
협업은 기본
14. 마무리
작은 규모라도 시작하는 것이 중요
하둡, 맵리듀스 … 특히 pig, hive 별로 생각보다 어렵지 않다
PILOT 과 실제 시스템은 다르게 동작할 수 있다
데이터가 늘어감에 따라
클러스터 규모가 커짐에 따라
네트워크에 따라
서버 스펙 마다
SQL 은 영원하다
많은 상용솔루션들이 SQL 을 이용해서 빅데이터를 처리할 수
있도록 도와준다
Hive , Impala 등등
단, 기반 프레임워크나 시스템에 대한 엔지니어는 여전히 부족
DevOps 의 양성과 확보가 중요