빅데이터플랫폼 - New Sight

Download Report

Transcript 빅데이터플랫폼 - New Sight

빅데이터란?
1
빅데이터에 관한 잘못된 상식
빅데이터는 용량과 규모가 매우
큰 데이터를 말한다.
2
빅데이터에 관한 올바른 이해
빅데이터는 분석과 처리 난이도가
매우 큰 데이터를 말한다.
3
I. 빅 데이터의 개요
빅 데이터의 정의
기술적
다양한 종류의 대규모 데이터로부터 저렴한 비용으로 가치를
추출하고, 데이터의 초고속 수집, 발굴, 분석을 지원하도록 고
안된 차세대 기술 및 아키텍처
규모적
일반적인 데이터베이스 소프트웨어가 저장, 관리, 분석할 수
있는 범위를 초과하는 규모의 데이터
기존의 관리 및 분석 체계로 감
당할 수 없을 정도의 거대한 데
이터의 집합
데이터 홍수
(Data Deluge)

대규모 데이터와 관계된 기술
및 도구(수집, 저장, 검색, 공유,
분석 시각화 등)
스마트 사회로 변화에 따른 데이터 저장, 처리 비용의 하락
SNS 확대 등으로 소셜, 사물, 라이프로그 데이터 등이 결합
디지털 데이터의 양이 기하급수적으로 폭증
4
빅 데이터의 생성
전 세계적으로 매일 2.5 quintillion(1018) 바이트의 데이터가 생성되고, 존재하는
데이터의 90% 이상은 최근 2년 안에 생성
5
데이터 빅뱅
디바이스 빅뱅: 2010년 100억 개 모바일 기기2017년 7조개 무선 단말로 연결
데이터 빅뱅: 2010년 800EB(Exa Byte)-> 2020년 35ZB로 확대
2010~2015년: 모바일 트래픽은 6300% , SNS는 연간 47%이상 확대
6
I. 빅 데이터의 개요
빅 데이터의 종류
고객정보와 같은 정형화된 자산정보 뿐만 아니라 외부 데이
터, 비정형, 소셜, 실시간 데이터 등이 복합적으로 구성
정형
(Structured)
반정형
(Semi-Structured)
비정형
(Unstructured)
고정된 필드에 저장된 데이터 (RDB, 스프레드시트에 저장
된 데이터)
고정된 필드에 저장되어 있지는 않지만, 메타데이터나 스키
마 등을 포함하는 데이터 (XML이나 HTML 텍스트 데이터)
고정된 필드에 저장되어 있지 않은 데이터 (텍스트 분석이 가
능한 텍스트 문서, 이미지/동영상/음성 데이터)
7
빅데이터의 활용 사례
8
빅데이터 활용 사례
9
구글의 독감 트렌드
 ‘독감’ 관련 검색어 분석을 통한 독감 예보 가능성 확인
 구글 검색 사이트에 사용자가 남긴 검색어의 빈도를 조사, 독감 환자의 분포 및 확산 정보
제공
10
샌프란시스코, 범죄 예방 시스템
 과거 범죄 발생 지역과 시각 패턴 분석을 통한 경찰 인력 배치
 과거 발생한 범죄 패턴을 분석하여 후속 범죄 가능성 예측
 과거 데이터에서 범죄자 행동을 분석하여 사건 예방을 위한 해법 제시
11
미국 국세청, 탈세 방지 시스템
 빅데이터 분석을 통한 탈세 및 사기 범죄 예방 시스템 구축
 사기 방지 솔루션, 소셜 네트워크 분석, 데이터 통합 및 마이닝 등 활용
 세금 누락 및 불필요한 세금 환급 절감의 효과 발생
12
빅데이터 플랫폼
13
빅데이터 플랫폼이란?
빅데이터를 다루기 위해 쓰이는 연구개발 환경
• 빅데이터를 저장하고 처리하는 기술
 Hadoop, NoSQL(HBase), MapReduce, Spark
• 빅데이터의 컴퓨팅을 위한 분산 병렬처리 기술
 GPGPU(CUDA)
• 빅데이터를 분석하기 위한 기술
 머신러닝(머하웃), 데이터마이닝
• 빅데이터를 수집하기 위한 도구
 Wearable Device, Crowd Sourcing
14
아파치 Hadoop
 하둡은 방대한 데이터의 저
장과 처리가 가능한 파일 시
스템으로 저장(HDFS)과 처
리(MapReduce)로 구성.
 HDFS(Hadoop Distributed
File System) : 여러 개의 서
버를 마치 하나의 서버처럼
묶어서 데이터를 저장
 MapReduce : HDFS에 분산
저장된 데이터를 분산 병렬
처리하는 것
http://ko.wikipedia.org/wiki/아파치_하둡
15
HDFS
 하둡 분산 파일 시스템(HDFS, Hadoop distributed file
system)은 하둡 프레임워크를 위해 자바 언어로 작성된
분산 확장 파일 시스템이다. HDFS은 여러 기계에 대용
량 파일들을 나눠서 저장을 한다. 데이터들을 여러 서버
에 중복해서 저장을 함으로써 데이터 안정성을 얻는다.
따라서 호스트에 RAID 저장장치를 사용하지 않아도 된
다.
http://ko.wikipedia.org/wiki/아파치_하둡
16
Hadoop의 특징
 하드웨어 오동작에 강건:하드웨어 수가 많아지면 그중에 일
부 하드웨어가 오동작하는 것은 예외 상황이 아니라 항상 발
생하는 일이다. 따라서 이런 상황에서 빨리 자동으로 복구하
는 것은 HDFS의 중요한 목표다.
 스트리밍 자료 접근: 범용 파일 시스템과 달리 반응 속도보다
는 시간당 처리량에 최적화되어 있다.
 큰 자료 집합: 한 파일이 기가바이트나 테라바이트 정도의 크
기를 갖는 것을 목적으로 설계되었다. 자료 대역폭 총량이 높
고, 하나의 클러스터에 수 백개의 노드를 둘 수 있다. 하나의
인스턴스에서 수천만여 파일을 지원한다.
http://ko.wikipedia.org/wiki/아파치_하둡
17
Hadoop의 특징
 간단한 결합 모델: 한번 쓰고 여러번 읽는 모델에 적합한 구
조이다. 파일이 한번 작성되고 닫히면 바뀔 필요가 없는 경우
를 위한 것이다. 이렇게 함으로써 처리량을 극대화할 수 있다.
 자료를 옮기는 것보다 계산 작업을 옮기는 것이 비용이 적게
든다: 자료를 많이 옮기면 대역폭이 많이 들기 때문에 네트워
크 혼잡으로 인하여 전체 처리량이 감소한다. 가까운 곳에 있
는 자료를 처리하게 계산 작업을 옮기면 전체적인 처리량이
더 높아진다.
 다른 종류의 하드웨어와 소프트웨어 플랫폼과의 호환성: 서
로 다른 하드웨어와 소프트웨어 플랫폼들을 묶어 놓아도 잘
동작한다.
http://ko.wikipedia.org/wiki/아파치_하둡
18
II. 빅 데이터의
기술
Hadoop 프레임워크 구성
Hadoop의 모드
 Local (Standalone) Mode - 하둡의 기본모드(아무런 환경설정을
하지 않음): 로컬 머신에서만 실행. 다른 노드와 통신할 필요가 없
기 때문에 HDFS를 사용하지 않으며 다른 데몬들도 실행시키지 않
음. 독립적으로 MapReduce 프로그램의 로직을 개발하고 디버깅
하는데 유용함
 Pseudo-Distributed Mode - 한대의 컴퓨터로 클러스터를 구성하
고, 모든 데몬을 실행함. 독립실행(standalone) 모드 기능 보완
– 메모리 사용 정도, HDFS 입출력 관련 문제, 다른 데몬 과의 상호
작용에서 발생하는 일 을 검사
 Fully-Distributed Mode - 분산 저장과 분산 연산의 모든 기능이
갖추어진 클러스터를 구성함
http://mobicon.tistory.com/341
20
MapReduce
대량의 자원을 다루는 분산/병렬 시스템의 효
율적인 지원을 위한 목적으로 Google에서 만
들어낸 모델
Ex) 도서관의 책 개수 세기
Map: 너는 홀수 책장의 책을 세고, 나는 짝수 책
장의 책을 셀게.
Reduce: 그다음 모두 모여 각자 센 것을 합하자
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Search/Document/ManReduce
21
MapReduce의 처리 과정
22
MapReduce의 단점 보완
 MapReduce의 단점인 느린 속도와 매우 불편한 프
로그래밍 구조를 보완하기 위해 다음과 같은 SW가
등장하였다.
(Script 언어로내부적으로는 MapReduce로 변환되어 실행된다.)
 Pig : MapReduce를 직접 프로그래밍하지 않고 쉽게
해주는 고수준의 언어를 지원
 Hive: SQL과 유사한 형식인 HQL로 쉽게 데이터를
처리할 수 있도록 지원
23
코드의 편의성 비교(좌측:MR , 우측:Pig)
24
그 이외 Hadoop과 관련 기술
25
Apache Mahout
 머하웃은 아파치 소프트웨어 재단의 한 프로젝트로
서 분산처리가 가능하고 확장성을 가진 기계학습용
라이브러리이다.
 맵리듀스를 이용하는 아파치 하둡위에 적용되며 비
슷한 특성을 가진 데이터들을 분류(Classification)
하고 군집(Clustering)하는 작업을 수행하며, 특히
협업 필터링(collaborative filtering)을 통한 추천
(Recommendation) 분야에 특화 되어 있다.
26
Apache Mahout에서 제공하는 알고리즘
 Collaborative Filtering
 Classification





Logistic Regression
Naive Bayes / Complementary Naive Bayes
Random Forest
Hidden Markov Models
Multilayer Perceptron
 Clustering
 k-Means Clustering
 Spectral Clustering
 Dimensionality Reduction
 PCA (via Stochastic SVD)
 Singular Value Decomposition
 Topic Models
 Latent Dirichlet Allocation
http://mahout.apache.org/users/basics/algorithms.html
27
Spark
 최근 Hadoop을 대체하고 있는 새로운 분산 시스템
 MapReduce에서 iteration이 매우 느린 이유를 해
결. Hadoop은 각 iteration 마다 하드디스크에 쓰기
를 하여 데이터의 싱크를 맞추기 때문에 느린데, 이
를 RAM에 저장하여 속도가 매우 빨라짐.
28
Spark와 Hadoop의 성능 비교 : 2~3배
29
GPGPU(CUDA)
 Hadoop이나 Spark가 독립된 컴퓨터 즉, CPU기반의 병렬
처리인 반면 CUDA는 GPU기반의 병렬처리이다.
 연산량은 매우 거대하지만, 데이터의 용량이 기가바이트 급
으로 컨트롤이 가능한 경우는 단일 컴퓨터에 고성능 GPU을
여러 대 장착하여 GPU 병렬처리로 문제를 해결하는 것이 더
효율적이다.
 단순 연산에 있어서는 Hadoop이나 Spark보다 GPU컴퓨팅
이 우세하다. (가성비, 프로그래밍 난이도, 속도 등)
 특히 컴퓨팅이 많이 필요한 인공신경망 연구에 필수적임.
30
GPU 컴퓨팅 라이브러리
 현재 NVIDIA에서 개발한 CUDA기반의 라이브러리가 모든
GPU컴퓨팅에 쓰인다.
 C++기반의 다소 난해한 CUDA를 모르더라도 GPU컴퓨팅을
할 수 있는 여러 스크립트 언어들이 다수 개발 중.
 Theano : python 기반, 함수형언어 스타일, 뉴럴넷에 특화
 Parallel Computing Toolbox : MATLAB 기반의 병렬 처리
31
Wearable Device
 데이터를 수집하기 위해서 Wearable Device를 이
용한 일상생활 기록이 한가지 방법이다.
 다양한 센서를 동시에 활용하여 서로 다른 센서가
가진 인과를 가진 데이터 생산이 가능하다.
2013 글로벌프론티어사업: 휴먼증강 하이퍼지능 연구단
32
Wearable Device 와 응용 서비스
Microsoft Cortana + MS Band
Google Now + Google Glass
•
확보된 Platform 기반 Assistant 서비스 (Cortana)
•
지식 그래프 기반 서비스 Platform화 (Now)
•
Bing과 Azure 기반 정보 제공 서비스 강화
•
Google Glass와 연동하여 개인화된 지능서비스 구축
•
MS Band의 고성능 센서 데이터 분석 및 지식 추론
Cortana
Intelligent Assistant
Knowledge
Insight
Data
Apple Siri + Apple iWatch
• NLP/음성인식 기반 서비스 융합/지능화 (Siri)
• Apple iWatch 와 연동하여 다양한 생체신호 분석 및
지식서비스 구축
IBM Watson + Softbank Pepper
 자연어 기반 DeepQA Platform 확보 (Watson)
 Watson기반 Cognitive Computing 분야 강화 예상
Question
Watson
1000’s of
Pieces of Evidence
NLP
Question
& Topic 분
석
Information
Retrieval
가설 생성
및 검증
Answer 및
신뢰도 도출
Knowledge
Representation
& Reasoning
Healthcare
Robotics
33
Crowd Sourcing(Amazon mechanical turk)
 데이터를 수집하는 또 다른 좋은 방법은 크라우드 소싱을 이
용하는 방법이다.
 아마존에서는 인공지능 연구를 위해 온라인 상으로 자격이
검증된 사람들을 모아 일정한 task를 수행하게 하여 이를 통
해 레이블링 된 데이터를 수집한다.
 간단한 질문에 답하거나, 문제를 푸는 식으로 답하여 일정 금
액을 지급하는 식으로 운영이 되고 있다.
34
Crowd Sourcing(Amazon mechanical turk)
https://www.mturk.com/mturk/welcome
35