빅데이터플랫폼 - 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