빅데이터 기본 개념

Download Report

Transcript 빅데이터 기본 개념

빅데이터 기본 개념
Yonsei University
2nd Semester, 2014
Sanghyun Park
* The slides are from the book “시작하세요! 하둡 프로그래밍:
기초부터 실무까지 하둡의 모든 것” written by 정재화 (위키북스, 2012)
목차

빅데이터란?

빅데이터의 3대 요소

빅데이터의 출현 배경

하둡이란?

왜 하둡인가?

하둡 에코시스템
빅데이터란?

데이터의 규모에 초점을 맞춘 정의
기존 데이터베이스 관리도구의 데이터 수집, 저장, 관리,
분석 역량을 넘어서는 데이터 (맥킨지 2011년 5월)

업무 수행 방식에 초점을 맞춘 정의
다양한 종류의 대규모 데이터로부터 저렴한 비용으로
가치를 추출하고, 데이터의 빠른 수집, 발굴, 분석을 지
원하도록 고안된 차세대 기술 및 아키텍처
(IDC 2011년 6월)
빅데이터의 3대 요소(3V)

BI/DW 리서치 기관인 TDWI 가 빅데이터의 3대 요소
(3V)를 그림으로 표현

3대 요소 가운데 두 가지 이상의 요소만 충족된다면 빅
데이터라고 볼 수 있음
크기(Volume) (1)

일반적으로 수십 테라바이트(terabyte) 혹은 수십 페타
바이트(petabyte) 이상이 빅데이터의 범위에 해당

1 테라바이트는 1024 기가바이트(gigabyte)

1 페타바이트는 1024 테라바이트

1 페타바이트는 6 기가바이트 DVD 영화를 17만 4천 편
담을 수 있는 용량
크기(Volume) (2)

빅데이터는 기존 파일 시스템에 저장하기 어려울 뿐 아니라
데이터 분석을 위해 사용하는 기존 DW 같은 솔루션에서 소
화하기 어려울 정도로 급격하게 데이터의 양이 증가하고 있
음

이러한 문제를 극복하려면 확장 가능한 방식으로 데이터를
저장하고 분석하는 분산 컴퓨팅 방식으로 접근해야 함

현재 분산 컴퓨팅 솔루션에는 구글의 GFS, 아파치의 하둡 등
이 있음

대용량 병렬 처리 데이터베이스로는 EMC의 GreenPlum,
HP의 Vertica, IBM의 Netezza, 테라데이터의 Kickfire 등이
있음
속도(Velocity)

빅데이터의 속도적인 특징은 크게 실시간 처리와 장기적인
접근으로 나눌 수 있음

오늘날 디지털 데이터는 매우 빠른 속도로 생성되기 때문에
데이터의 수집, 저장, 분석 등이 실시간으로 처리돼야 함

모든 데이터가 실시간 처리만을 요구하는 것은 아님

수집된 대량의 데이터를 다양한 분석 기법과 표현 기술로 분
석해야 하는데, 이는 장기적이고 전략적인 차원에서 접근할
필요가 있음

통계학과 전산학에서 사용하는 데이터 마이닝, 기계 학습, 자
연어 처리, 패턴 인식 등이 분석 기법에 해당함
다양성(Variety)

데이터는 정형화 정도에 따라 정형(Structured), 반정형
(Semi-Structured), 비정형(Unstructured)으로 구분

정형 데이터는 고정된 필드에 저장되는 데이터를 의미하며,
일정한 형식을 갖추고 있음

반정형 데이터는 고정된 필드로 저장되지는 않지만, XML 이
나 HTML 같이 메타데이터나 스키마 등을 포함

비정형 데이터는 고정된 필드에 저장되지 않는 데이터를 의
미함. 사진, 동영상, 메신저로 주고 받은 대화 내용, 스마트폰
에 기록되는 위치 정보, 통화 내용 등이 이에 해당

빅데이터는 비정형 데이터도 처리할 수 있어야 함
빅데이터의 출현 배경 (1)

스마트폰과 같은 디지털 기기의 보급과 소셜네트워크서
비스(SNS)의 부상으로 엄청난 양의 데이터가 생산되고
있음

빅데이터는 기업, 정부, 의료, 교육 분야에서 그 가치가
입증되고 있음

빅데이터를 적극적으로 활용하는 기업은 비즈니스 성과
를 개선할 수 있음

글로벌 패션기업인 자라(ZARA)는 빅데이터 분석을 통
해 상품 공급 프로세스를 혁신하고 재고 수량을 최적화
함으로써 매출과 영업이익을 크게 증대시켰음
빅데이터의 출현 배경 (2)

빅데이터는 의료 분야에서도 적용이 확대되고 있음

최근 일본 IBM과 도호대학은 의료정보를 분석해 미래 질병
을 예측할 수 있는 시스템을 개발했다고 발표함 (의료 기록에
텍스트 분석 기술을 적용)

DNA 연구 분야에서도 빅데이터 기술이 활발하게 적용되고
있음 (인간의 DNA를 구성하는 염기서열 1 쌍당 4 테라바이
트의 이미지 데이터가 생성)

국가 차원에서도 빅데이터에 대응하기 위한 다양한 정책이
발표되고 있음 (미국 백악관, 일본 총무성과 국가전략회의)
하둡이란? (1)

하둡은 대용량 데이터를 분산 처리할 수 있는 자바 기반
의 오픈소스 프레임워크

하둡은 2005년에 더그 커팅(Doug Cutting)이 구글이
논문으로 발표한 GFS(Google File System)와 맵리듀
스(MapReduce)를 구현한 결과물

처음에는 오픈소스 검색 엔진인 너치(Nutch)에 적용하
기 위해 시작됐다가 이후 독립적인 프로젝트로 만들어
졌고, 2008년에는 아파치 최상위 프로젝트로 승격되었
음
하둡이란? (2)

하둡은 분산 파일 시스템인 HDFS(Hadoop Distributed
File System)에 데이터를 저장하고, 분산 처리 시스템
인 맵리듀스를 이용해 데이터를 처리

더그 커팅이 자신의 아들이 노란 코끼리 장난감 인형을
하둡이라고 부르는 것을 듣고 하둡이라는 이름을 지었
음. 그래서 하둡의 로고로 노란 코끼리가 사용되는 것임

이러한 프로젝트 네이밍 룰 때문에 이후 하둡 관련 서브
프로젝트도 모두 동물과 관련된 이름을 사용
왜 하둡인가? (1)

정형 데이터의 경우 기존 RDBMS에 저장할 수 있지만 웹 로
그 같은 비정형 데이터를 RDBMS에 저장하기에는 데이터 크
기가 너무 큼

하둡은 오픈소스 프로젝트이기에 소프트웨어 라이선스 비용
에 대한 부담이 없음

값비싼 유닉스 장비를 사용하지 않고, x86 CPU에 리눅스 서
버면 얼마든지 설치하고 운영할 수 있음. 데이터 저장 용량이
부족할 경우, 필요한 만큼 리눅스 서버만 추가하면 됨

하둡은 데이터의 복제본을 저장하기 때문에 데이터의 유실이
나 장애가 발생했을 때도 데이터의 복구가 가능함
왜 하둡인가? (2)

기존 RDBMS는 데이터가 저장된 서버에서 데이터를 처리하
는 방식이지만, 하둡은 여러 대의 서버에 데이터를 저장하고,
데이터가 저장된 각 서버에서 동시에 데이터를 처리하는 방
식임

하둡의 저렴한 구축 비용과 비용 대비 빠른 데이터 처리, 장
애를 대비한 특성은 많은 기업들의 구미를 당기게 했음

하둡은 초기에 야후에서만 주도적으로 사용됐지만, 현재는
아마존, 이베이, 페이스북, 마이스페이스 등 글로벌 서비스
업체에서 주로 이용함

국내에서는 NHN, DAUM과 같은 포털 기업과 KT, SKT 같
은 통신업체에서 사용함
왜 하둡인가? (3)

EMC, IBM, 테라데이터, 오라클, 델, 마이크로소프트,
HP 등은 하둡과 관련된 제품을 쏟아내며 마케팅을 강화

미국에서는 클라우데라, 호튼웍스와 같은 하둡 컨설팅
업체들이 활발히 활동

국내에서는 그루터, 넥스알, 클라우다인 같은 기업들이
하둡과 연계한 자체 솔루션을 선보이고 있음
하둡 에코시스템 (1)

하둡은 비즈니스에 효율적으로 적용할 수 있게 다양한
서브 프로젝트가 제공됨. 이러한 서브 프로젝트를 바탕
으로 하둡 에코시스템이 구성되었음
하둡 에코시스템 (2)

분산 데이터를 저장하는 HDFS와 분산 데이터를 처리하는 맵
리듀스가 하둡 코어 프로젝트에 해당하며 나머지는 모두 하
둡의 서브 프로젝트

Zookeeper(분산 코디네이터)는 분산 환경에서 서버 간의 상
호 조정이 필요한 다양한 서비스를 제공하는 시스템

Oozie(워크플로우 관리)는 하둡 작업을 관리하는 워크플로우
및 코디네이터 시스템

HBase(분산 데이터베이스)는 HDFS 기반의 컬럼 데이터베
이스이며 구글의 BigTable 논문을 기반으로 개발되었음. 실
시간 랜덤 조회 및 업데이트가 가능함. 얼마 전 NHN이 모바
일 메신저 라인에 HBase를 적용한 시스템 아키텍처를 발표
했음
하둡 에코시스템 (3)

Pig(하이레벨 스크립트 언어 for 데이터 분석)는 복잡한 맵리
듀스 프로그래밍을 대체할 Pig Latin 이라는 자체 언어를 제
공함. 맵리듀스 API를 크게 단순화 했으며 SQL 과 유사한 형
태로 설계되었음. 야후에서 개발됨

Hive(데이터 분석)는 페이스북에서 개발된 하둡 기반의 DW
용 솔루션임. SQL과 매우 유사한 HiveQL 이라는 쿼리를 제
공함. HiveQL은 내부적으로 맵리듀스 잡으로 변환되어 실행
됨

Mahout(데이터 마이닝)은 하둡 기반으로 데이터 마이닝 알
고리즘을 구현한 오픈소스임. Classification, clustering, 추
천 및 협업 필터링, 회귀 분석, 차원 리덕션, 진화 알고리즘
등을 지원함
하둡 에코시스템 (4)

Hcatalog (메티데이터 관리)는 하둡으로 생성한 데이터
를 위한 테이블 및 스토리지 관리 서비스

Avro(직렬화)는 RPC(Remote Procedure Call)와 데이
터 직렬화를 지원하는 프레임워크. JSON을 이용해 데이
터 형식과 프로토콜을 정의하며 작고 빠른 바이너리 포
맷으로 데이터를 직렬화 함
하둡 에코시스템 (5)

Chukwa(비정형 데이터 수집)는 분산 환경에서 생성되는 데
이터를 HDFS에 안정적으로 저장하는 플랫폼. 분산된 각 서
버에서 에이전트를 실행하고 콜렉터가 에이전트로부터 데이
터를 받아 HDFS에 저장함

Flume(비정형 데이터 수집)은 Chukwa 처럼 분산된 서버에
에이전트가 설치되고, 에이전트로부터 데이터를 전달받는 콜
렉터로 구성. 차이점은 전체 데이터의 흐름을 관리하는 마스
터 서버가 있어서 데이터를 어디서 수집하고 어떤 방식으로
전달할지를 동적으로 변경할 수 있음. 클라우데라에서 개발

Scribe(비정형 데이터 수집)는 페이스북에서 개발한 데이터
수집 플랫폼이며, Chuckwa 와는 다르게 중앙 집중 서버로
전송하는 방식을 사용함
하둡 에코시스템 (5)

Scoop(대용량 데이터 전송 솔루션)은 HDFS, RDBMS,
DW, NoSQL 등 다양한 저장소에 대용량 데이터를 신속
하게 전송할 수 있는 방법을 제공함

Hiho(대용량 데이터 전송 솔루션)는 Sqoop과 같은 대용
량 데이터 전송 솔루션이며 GitHub에 공개돼 있음. 오라
클과 MySQL의 데이터 전송만 지원함
하둡 에코시스템 (6)

Impala는 클라우데라에서 개발한 하둡 기반의 실시간
SQL 질의 시스템이며, 맵리듀스를 사용하지 않고 자체
개발한 엔진을 사용해 빠른 성능을 보여줌. 데이터 조회
를 위한 인터페이스로 HiveQL을 사용하며 Hbase와도
연동할 수 있음

Tajo는 고려대학교 박사 과정 학생들이 주도해서 개발
한 하둡 기반의 SW 시스템이며, 2013년 아파치 재단의
인큐베이션 프로젝트로 선정됐음. 데이터 저장소는
HDFS를 사용하되, SQL 언어를 사용하여 실시간으로
데이터를 조회할 수 있음
NoSQL 이란?

NoSQL이란 관계형 데이터 모델과 SQL문을 사용하지 않는
데이터베이스 시스템 혹은 데이터 저장소를 의미함

기존 RDBMS가 분산 환경에 적합하지 않기 때문에 이를 극
복하기 위해 NoSQL이 고안되었음

NoSQL의 데이터베이스는 단순히 키와 값의 쌍으로만 이뤄
져 있고, 인덱스와 데이터가 분리되어 별도로 운영됨. 또한
조인이 없으며, 샤딩(Sharding)이라는 기능을 이용해 데이터
를 분할해서 다른 서버에 나눠 저장함

MongoDB, HBase, CouchDB, Casandra, Redis 등 다양한
NoSQL 솔루션이 출시되고 있으며, 국내에서는 MongoDB가
가장 많이 사용됨