2012 빅데이터 big data 발표자료
DESCRIPTION
NIPA, DBTRANSCRIPT
빅데이터 BIG DATA
줌인터넷(주) 김우승
소개 ¨ http://zum.com ¨ 줌인터넷(주) 연구소장 ¨ 김우승 (Wooseung Kim) ¨ http://kimws.wordpress.com ¨ @kimws
60년 전 …
1952.5.21 The first IBM large-scale electronic computer
IBM 701
지금은 …
¨ 전세계 음악을 모두 저장할 수 있는 디스크 드라이브 가격 $600 ¨ 2010년 전세계 핸드폰 50억대 이상 ¨ 매달 페이스북에서 주고받는 컨텐츠 300억건 ¨ 매년 전세계 데이터 40% 씩 증가, IT 분야는 5% 씩 증가 ¨ 미국 의회 도서관이 수집한 데이터 235테라바이트 (2011.4 기준)
출처: McKinsey&Company June 2011 Big Data
Facebook Datacenter 스웨덴 극지방 위치
Google Datacenter http://www.google.com/about/datacenters/locations/index.html
왜 빅데이터에 관심을 가지나?
¨ Connected Everything ¤ Smartphone ¤ LTE ¤ Sensor Networks ¤ … …
¨ Google ¨ Facebook ¨ Yahoo ¨ LinkedIn ¨ Twitter
웹 서비스 사업의 성장 기술 공개 , 빠른 기술 진화
데이터 처리 비용 상대적으로 낮아짐
데이터의 폭발적인 증가 멀티미디어 실시간 데이터
Cost < Value
구글과 아파치 하둡
¨ C/C++ ¨ GFS ¨ Chubby ¨ BigTable ¨ MapReduce ¨ Swazall ¨ Tenzing
¨ Java ¨ HDFS ¨ ZooKeeper ¨ HBase ¨ MapReduce ¨ Pig ¨ Hive
구글이 자신들의 빅데이터 기술을 논문으로 발표 à 오픈소스로 개발,공개
빅 데이터에서 다루는 문제들
대용량 데이터 (GB을 넘어서 TB,PB…)
다양한 형태의 데이터 (DB,텍스트,XML,이미지,동영상…)
배치,실시간,스트리밍 (센서,상거래,주식거래…)
빅 데이터에서 다루는 문제들
대용량 데이터를 저장,처리하기 위해서 필요한 클러스터 컴퓨팅, 분산컴퓨팅 인프라에 대한 이해
• 수십-수천대의 서버를 구축,관리 • 효율적인 네트워크 구축 • 상태 모니터링 및 장애 대책 • 애플리케이션 배포 • 데이터의 저장, 백업 • 확장성, 가용성을 고려
빅 데이터에서 다루는 문제들
빅 데이터를 위한 다양한 오픈 소스
빅 데이터에서 다루는 문제들
레거시 시스템과의 연동, 마이그레이션 이슈
Big Data Platform Legacy Data Platform
빅 데이터에서 다루는 문제들
데이터 마이닝 , 머신 러닝 알고리즘
Single Machine è Multiple Machines
빅 데이터에서 다루는 문제들
데이터 보안 개인 정보 보호
데이터 유출시 기업경영에 치명적인 영향을 준다 어느 데이터나 활용할 수 있는 것이 아니다
통합보다 분산이 더 안전
빅데이터에서 다루는 문제들
대용량 데이터, 정형/비정형데이터, 이벤트/스트리밍 데이터
분산컴퓨팅, 클러스터 컴퓨팅
클라우드 컴퓨팅
오픈소스
데이터 마이닝/머신러닝
레거시 시스템 연동 / 데이터 수집
보안/개인정보 보호 이슈
Knowledge & Technology for Big Data
Statistics
Machine Learning Data Mining
SQL
Excel
Linear Algebra
Entity Relation
Algorithms
R SAS
Hadoop MapReduce
Pig Hive
Cluster Computing
NoSQL
Java
C/C++
Complex Event Processing
KeyValue DB
HBase Cassandra
Stream Process
HDFS MongoDB
ZooKeeper
Flume Scribe
RDBMS
Oracle
MSSQL
Cloud Computing Distributed Computing
OLAP Tools
Linux TCP/IP
HTTP
XML
MySQL Column DB
Graph DB
JSON
Redis ETL
Amazon Python Batch Processing
Real-time Processing
우승이의 블로그 http://kimws.wordpress.com
Apache
Avro
Protocolbuf
Big Data Platform 환경 비교
¨ Single Machine ¤ Multi-core (> 16 cores) ¤ Scale-up ¤ High Price H/W, S/W ¤ SAN Storage
¨ MS Windows, AIX, HP-UX ¨ Commercial Solutions ¨ IBM, Oracle, Microsoft ¨ RDBMS ¨ TeraData, Exadata,Netizza ¨ SAS, SPSS
¨ Multiple Machine ¤ Commodity H/W, N/W ¤ Scale-out ¤ Low Cost ¤ Distributed File System
¨ Linux ¨ Open Source ¨ Yahoo!,Facebook,Twitter
¨ NoSQL ¨ Hadoop, Hive, Pig ¨ R, Mahout
기존 데이터 플랫폼 환경 빅데이터 플랫폼 환경
NoSQL (Not Only SQL) ?
출처: http://blog.beany.co.kr/archives/275
¨ CAP Theorem ¤ Consistency ¤ Availability ¤ Partition Tolerance
q CA, CP, AP 의 특성에 따라 상대적인 확장성과 성능에 제약이 발생
q 대부분 오픈소스
요구사항에 대한 분명한 이해 개발/운영 역량 반드시 확인
관계형 데이터 모델을 사용하지 않고 SQL 을 사용하지 않는 그 이외의 모든 데이터 베이스 시스템 또는 데이터 스토어
NoSQL Ecosystem
출처: http://www.slideshare.net/mattaslett/mysql-vs-nosql-and-newsql-survey-results-13073043
• 각 도메인 또는 요구사항에 맞는 NoSQL 을 선택하는 것이 매우 중요 • 대부분의 NoSQL 이 오픈소스, 도입시 내부 검증 절차와 내재화 필요
Big Data Lifecycle
데이터 수집 데이터 처리 데이터 분석 데이터 제공
¨ 데이터 연동 ¨ ftp, sftp, rcp,
rsync ¨ 데이터 변환
¨ 데이터 클리닝 ¨ 데이터 요약 ¨ 데이터 기초통계 ¨ 데이터 탐색
¨ 모델 검증 ¨ 데이터 마이닝 ¨ 텍스트 마이닝
¨ 보고서 ¨ 데이터 시각화 ¨ 서비스 데이터
¤ 상품 추천 ¤ 유사 아이템
Legacy Data Platform
고가의 하이엔드 싱글서버 서버, 네트워크장비 SAN 스토리지 상용 데이터베이스, 마이닝 솔루션 매우 고가
비용은 몇배로 발생 시스템 아키텍쳐 & 데이터 구조 변경이 불가피 처리할 수 있는 데이터 처리에 한계가 발생
데이터 수집 데이터 처리 데이터 분석 데이터 제공
SAN Storage
FTP SFTP Rsync
OLAP Tools
ETL Process (IBM DataStage) SQL, PL/SQL
RDBMS (Oracle, DB2, MSSQL …)
데이터 마이닝 (SAS)
Local FS Local FS
Data Warehouse (TeraData)
Service Server
시스템 확장 Scale up
DBMS 을 기반으로하는 데이터 플로우 , Scale-up 구조의 아키텍처
Migration ??? …
Legacy Data Platform Big Data Platform
Hybrid !!!
Legacy Data Platform Big Data Platform
Real-time Stream & Event Processor
Big Data Platform
데이터 수집 데이터 처리 데이터 분석 데이터 제공
Distributed File System
FTP SFTP Rsync
OLAP Tools (R)
ETL Process Pig & Script Lanugage
RDBMS (Oracle, MySQL)
데이터 마이닝 Mahout, R
Local FS Local FS
Data Warehouse Hive, R
Service Server
MapReduce Framework
NoSQL (Hbase, Cassandra)
SAN Storage
Log Aggregator (Flume)
Data Warehouse
NoSQL (MongoDB)
다양한 데이터 소스/데이터 프로세싱 프레임워크를 수용할 수 있는 워크플로우,통합 관리 시스템 필요
• 대용량 데이터 저장과 대용량 데이터 분석 시스템에는 Hadoop 및 오픈소스기반의 NoSQL, R을 적극 활용 • 최종 분석 결과 제공을 위한 OLTP 기반 리포트 시스템 / 서비스 데이터들은 기존의 기술을 적극 활용 • Hadoop 및 오픈소스 기반의 시스템들은 저가의 범용서버 및 네트워크스위치를 활용해서 클러스터를 구성
¨ 데이터 포맷 ¤ 비정형 (log, csv,…) ¤ 준정형 (XML,JSON) ¤ 정형(데이터베이스)
¨ 데이터 변환 ¨ 연동 주기 ¨ 데이터 크기 ¨ 전송 속도 ¨ 손실 허용 기준 (100%?)
¨ 장애시 재전송 정책 ¨ 전송 방식
¤ ftp/sftp ¤ rsync, rcp ¤ nfs / fuse ¤ Aggregator Framework
n Scribe (C++) n Flume (Java)
빅 데이터 수집
Agent
Agent
Agent
Collector
Collector
DFS
Log Aggregator Framework
Extract / Transform / Load Extract / Load / Transform
빅 데이터 처리/분석의 특징
빅데이터 처리와 분석작업은 하나 이상의 데이터 작업들로 구성
배치 프로세싱 (분단위,일단위,월단위)
클러스터 컴퓨팅 관리 (신규구축, 노드추가/삭제)
장애에 대한 대책
Job Scheduler
Workflow Engine
Cluster Monoring System
Notification
Apache Oozie
Cloudera
Apache Amabari
Hadoop 기반 상용 제품들의 주요 솔루션 영역
클러스터 모니터링이 필수
Cluster Management
System
빅 데이터 마이닝
Training Set
Validation Set
Build Model
Data
New Data
Validate
Analyze & tune
Build Model Data
New Data
Validate
Analyze & tune
Supervised Learning Workflow Unsupervised Learning Workflow
• 빅데이터 마이닝에 있어서 Training Set 을 만드는 것에 있어 많은 비용발생 • Supervised Learning 보다는 Unsupervised Learning 적용이 유리 • Mahout : MapReduce 기반의 scalable data mining algorithm 발굴 및 구현 • C-MR, Giraph 와 같은 데이터 마이닝에 적합한 프레임워크이 등장
¨ 데이터 마이닝된 데이터를 서비스 서버에서 이용 ¤ 검색용 인덱스 DB ¤ 추천엔진 룰데이터
¨ 데이터 처리/분석된 자료를 다양한 포맷의 보고서나 차트를 생성할 수 있도록 제공 ¤ OLAP 도구 연동이 중요
è RDBMS 는 여전히 중요
빅 데이터 제공
MapReduce Framework
RDBMS
DFS
Hive Pig
NoSQL
Service Server
Batch Process
OLTP
Periodic Update
OLAP Tools
빅데이터 기술 도입시 고려 사항
Q2. 기존의 기술로 해결할 수 없는 문제인가?
Q1. 꼭 Hadoop, NoSQL, DFS가 필요한가?
Q3. 기존의 기술로는 비용이 많이 드는가?
Q4. 상용/오픈소스 영역과 품질 수준을 정의했는가?
도입전 요구 사항에 맞는지 사전 벤치마킹이 필수
오픈소스에서 주장하는 성능/품질은 참고사항일 뿐
개발비보다 운영비가 크게 증가할 수도 있음을 명심
도메인과 요구사항에 맞게 도입
내부 엔지니어 확보 및 기술 내재화
빅데이터를 위한 역량
빅데이터
도메인 지식
데이터 마이닝
머신러닝
소프트웨어 프로그래밍
운영체제 분산컴퓨팅
플랫폼기술 Hadoop /NoSQL
데이터 시각화
• 자신은 어느 분야의 전문가인가? • 어느 방향으로 역량을 넓혀갈 것인가?
Data Scientist
DevOps
소프트웨어 프로그래머 들에게 좀더 많은 기회?
Data Scientist
DevOps
빅데이터를 위한 역할과 요구기술
도메인 전문가
데이터 분석가
소프트웨어 개발자
시스템 엔지니어
• 추천 로직 기획, 광고 플랫폼 • Financial & Stock Market • Health Care • BioInfomatics • Power Management
• 통계 & 데이터 탐색 • 데이터 마이닝 & 기계학습 • 데이터 분석 • 리포팅 • 데이터 시각화
• 데이터 수집 • 마이닝 알고리즘 & ML 구현 • 데이터 처리 엔진 구현 • 데이터 저장소 최적화 • 분산 알고리즘 구현
• 운영 체계 최적화 • 컴퓨팅 H/W, N/W 최적화
• OLAP Tools • SAS,
SPSS,R,Weka • SQL • RDBMS • ETL • Script Language • Pig, Hive • MapReduce
• Log Aggregator • NoSQL • Hadoop • Linux • X86 • Network
• Visualization • Infograph • IR & RecSys
Dat
a S
cien
tist
Dev
Ops
Multi-Player .vs. Team
Data Scientst
DevOps
DBA Data Miner
S/W 개발자
Machine Learning
통계학자
System Engineer
Domain
Expert
S/W 아키텍트
서비스 기획자
알고리즘 개발
Data Team
• 중장기적으로 조직내에 빅데이터 기술의 내재화가 필수 • 관련 역량을 갖춘 팀을 갖추고 개인 역량을 높이는 내재화 전략 필요
향후 빅데이터 발전 방향
¨ Real-time Analytics ¨ Advanced & Predictive
Analytics ¨ Advanced Data Visualization
출처: TDWI Research 4thQ 2011 on Big Data Analytics
빅데이터 솔루션과 하둡
출처: http://kimws.wordpress.com
Amazon Google Microsoft Product Amazon Web Service Google Cloud Platform Microsoft Azure
Big Data Storage S3 Cloud Storage HDFS on Azure
Working Storage Elastic Block Store Datastore , Blobstore Blog, table, queues
NoSQL database DynamoDB AppEngine Datastore Table Storage
Relational database MySQL , Oracle CloudSQL (MySQL compatible)
SQL Azure
Application hosting EC2 AppEngine Azure Compute
Map/Reduce service (Hadoop Partner)
Elastic MapReduce (Cloudera)
Compute Engine (MapR)
Hadoop on Azure (Hortonworks)
Big data anlytics Pig, Hive BigQuery Pig, Hive
Pig, Hive
Machine Learning Mahout (on Hadoop) Prediction API Mahout (Hadoop)
Mahout (on Hadoop)
Streaming Processing N/A N/A StreamInsight
Data Import Network Storage Device
Network Network
Big Data in Cloud
Beyond the Yottabyte
"the data volumes are increasing with a projection that sensor data volume could potentially increase to the level of Yottabytes by 2015."
Googol = 10100
감사합니다.