빅데이터란 ? 1
빅데이터에 관한 잘못된 상식 빅데이터는 용량과 규모가 매우 큰 데이터를 말한다. 2
빅데이터에 관한 올바른 이해 빅데이터는 분석과 처리 난이도가 매우 큰 데이터를 말한다. 3
I. 빅 데이터의 개요 빅 데이터의 정의 4 다양한 종류의 대규모 데이터로부터 저렴한 비용으로 가치를 추 출하고, 데이터의 초고속 수집, 발굴, 분석을 지원하도록 고안된 차세대 기술 및 아키텍처 일반적인 데이터베이스 소프트웨어가 저장, 관리, 분석할 수 있는 범위를 초과하는 규모의 데이터 스마트 사회로 변화에 따른 데이터 저장, 처리 비용의 하락 SNS 확대 등으로 소셜, 사물, 라이프로그 데이터 등이 결합 디지털 데이터의 양이 기하급수적으로 폭증 기술적 규모적 데이터 홍수 (Data Deluge) 기존의 관리 및 분석 체계로 감 당할 수 없을 정도의 거대한 데 이터의 집합 대규모 데이터와 관계된 기술 및 도구 ( 수집, 저장, 검색, 공유, 분 석 시각화 등 )
빅 데이터의 생성 5 전 세계적으로 매일 2.5 quintillion(10 18 ) 바이트의 데이터가 생성되고, 존재하는 데이터의 90% 이상은 최근 2 년 안에 생성
데이터 빅뱅 6 디바이스 빅뱅 : 2010 년 100 억 개 모바일 기기 2017 년 7 조개 무선 단말로 연결 데이터 빅뱅 : 2010 년 800EB(Exa Byte)-> 2020 년 35ZB 로 확대 2010~2015 년 : 모바일 트래픽은 6300%, SNS 는 연간 47% 이상 확대
고정된 필드에 저장된 데이터 (RDB, 스프레드시트에 저장 된 데이터 ) 정형 (Structured) 고정된 필드에 저장되어 있지 않은 데이터 ( 텍스트 분석이 가 능한 텍스트 문서, 이미지 / 동영상 / 음성 데이터 ) 고정된 필드에 저장되어 있지는 않지만, 메타데이터나 스키마 등을 포함하는 데이터 (XML 이나 HTML 텍스트 데이터 ) 반정형 (Semi-Structured) 비정형 (Unstructured) 고객정보와 같은 정형화된 자산정보 뿐만 아니라 외부 데이터, 비정형, 소셜, 실시간 데이터 등이 복합적으로 구성 I. 빅 데이터의 개요 빅 데이터의 종류 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 에 분산 저장된 데이터를 분산 병렬 처리하는 것 아파치 _ 하둡 15
HDFS 하둡 분산 파일 시스템 (HDFS, Hadoop distributed file system) 은 하둡 프레임워크를 위해 자바 언어로 작성된 분산 확장 파일 시스템이다. HDFS 은 여러 기계에 대용량 파일들을 나눠서 저장을 한다. 데이터들을 여러 서버에 중복해서 저장을 함으로써 데이터 안정성을 얻는다. 따라 서 호스트에 RAID 저장장치를 사용하지 않아도 된다. 자바 파일 시스템RAID 아파치 _ 하둡
Hadoop 의 특징 하드웨어 오동작에 강건 : 하드웨어 수가 많아지면 그중에 일부 하드웨어가 오동작하는 것은 예외 상황이 아니라 항상 발생하 는 일이다. 따라서 이런 상황에서 빨리 자동으로 복구하는 것 은 HDFS 의 중요한 목표다. 스트리밍 자료 접근 : 범용 파일 시스템과 달리 반응 속도보다 는 시간당 처리량에 최적화되어 있다. 큰 자료 집합 : 한 파일이 기가바이트나 테라바이트 정도의 크 기를 갖는 것을 목적으로 설계되었다. 자료 대역폭 총량이 높 고, 하나의 클러스터에 수 백개의 노드를 둘 수 있다. 하나의 인스턴스에서 수천만여 파일을 지원한다 아파치 _ 하둡
Hadoop 의 특징 간단한 결합 모델 : 한번 쓰고 여러번 읽는 모델에 적합한 구조 이다. 파일이 한번 작성되고 닫히면 바뀔 필요가 없는 경우를 위한 것이다. 이렇게 함으로써 처리량을 극대화할 수 있다. 자료를 옮기는 것보다 계산 작업을 옮기는 것이 비용이 적게 든다 : 자료를 많이 옮기면 대역폭이 많이 들기 때문에 네트워 크 혼잡으로 인하여 전체 처리량이 감소한다. 가까운 곳에 있 는 자료를 처리하게 계산 작업을 옮기면 전체적인 처리량이 더 높아진다. 다른 종류의 하드웨어와 소프트웨어 플랫폼과의 호환성 : 서로 다른 하드웨어와 소프트웨어 플랫폼들을 묶어 놓아도 잘 동작 한다 아파치 _ 하둡
II. 빅 데이터의 기술 Hadoop 프레임워크 구성
Hadoop 의 모드 Local (Standalone) Mode - 하둡의 기본모드 ( 아무런 환경설정을 하지 않음 ): 로컬 머신에서만 실행. 다른 노드와 통신할 필요가 없 기 때문에 HDFS 를 사용하지 않으며 다른 데몬들도 실행시키지 않 음. 독립적으로 MapReduce 프로그램의 로직을 개발하고 디버깅하 는데 유용함 Pseudo-Distributed Mode - 한대의 컴퓨터로 클러스터를 구성하 고, 모든 데몬을 실행함. 독립실행 (standalone) 모드 기능 보완 – 메모리 사용 정도, HDFS 입출력 관련 문제, 다른 데몬 과의 상호작 용에서 발생하는 일 을 검사 Fully-Distributed Mode - 분산 저장과 분산 연산의 모든 기능이 갖 추어진 클러스터를 구성함 20
MapReduce 대량의 자원을 다루는 분산 / 병렬 시스템의 효 율적인 지원을 위한 목적으로 Google 에서 만 들어낸 모델 Ex) 도서관의 책 개수 세기 Map: 너는 홀수 책장의 책을 세고, 나는 짝수 책 장의 책을 셀게. Reduce: 그다음 모두 모여 각자 센 것을 합하자
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 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 를 이용 한 일상생활 기록이 한가지 방법이다. 다양한 센서를 동시에 활용하여 서로 다른 센서가 가 진 인과를 가진 데이터 생산이 가능하다 글로벌프론티어사업 : 휴먼증강 하이퍼지능 연구단 32
Wearable Device 와 응용 서비스 33 자연어 기반 DeepQA Platform 확보 (Watson) Watson 기반 Cognitive Computing 분야 강화 예상 확보된 Platform 기반 Assistant 서비스 (Cortana) Bing 과 Azure 기반 정보 제공 서비스 강화 MS Band 의 고성능 센서 데이터 분석 및 지식 추론 지식 그래프 기반 서비스 Platform 화 (Now) Google Glass 와 연동하여 개인화된 지능서비스 구축 NLP/ 음성인식 기반 서비스 융합 / 지능화 (Siri) Apple iWatch 와 연동하여 다양한 생체신호 분석 및 지 식서비스 구축 Google Now + Google Glass Microsoft Cortana + MS Band Apple Siri + Apple iWatch IBM Watson + Softbank Pepper KnowledgeKnowledge Cortana Intelligent Assistant Cortana Data Insight Answer 및 신뢰도 도출 가설 생성 및 검증 Question & Topic 분석 NLP Question Information Retrieval Knowledge Representation & Reasoning 1000’s of Pieces of Evidence Watson Robotics Healthcare
Crowd Sourcing(Amazon mechanical turk) 데이터를 수집하는 또 다른 좋은 방법은 크라우드 소싱을 이 용하는 방법이다. 아마존에서는 인공지능 연구를 위해 온라인 상으로 자격이검 증된 사람들을 모아 일정한 task 를 수행하게 하여 이를 통해 레이블링 된 데이터를 수집한다. 간단한 질문에 답하거나, 문제를 푸는 식으로 답하여 일정 금 액을 지급하는 식으로 운영이 되고 있다. 34
Crowd Sourcing(Amazon mechanical turk)