IT Life

Advanced Analysis를 구현하는 기본요소 Hadoop 프레임워크

2012.12.21 11:00


우리는 과거의 유선 전화 시대를 넘어 현재는 휴대폰, 태블릿PC와 같은 모바일 기기의 사용이 보편화된 시대에 살아가고 있습니다. 스마트폰을 사용하는 사람들은 SNS 계정을 하나쯤은 가지고 있습니다. 예를 들자면 스마트폰 어플로 페이스북 혹은 트위터에 접속하면 매일매일 엄청난 양의 멘션과 트윗이 쏟아지고 있는 것이지요. 가히 데이터 홍수의 시대라고 할만 합니다.

이렇게 어마어마한 양의 데이터를 좀더 유용하고 가치 있게 분석하고, 나아가 이를 유리한 방향으로 사용할 수 있다면 얼마나 좋을까요? 그리고 어떻게 하면 산재되어 있는 무의미한 데이터에서 유의미한 데이터를 생산해 낼 수 있을까요? 그리고 이런 것들이 정말로 가능할까요?

이러한 의문에서 시작된 데이터 분석 관련 기술은 많은 발전과 진보를 거쳐왔으며, 지금도 발전하고 있습니다. 마치 진흙 속에서 진주를 찾듯, 사용하지 않거나 버려지는 방대한 양의 데이터인 이른바 빅데이터(Bigdata)에서 유용한 정보를 찾아내기 위한 대표적인 기술 도구인 빅데이터 프레임워크가 바로 ‘하둡(Hadoop)’입니다.


SNS(Social Network Service)에서 회자되는 내용들은 ‘흥행’과 무관하지 않습니다. 현재 대중들에게 구전되거나 회자되는 내용, 이것이 바로 흥행이겠죠. 정치인의 인기도나 최신 개봉 영화 등등..흥행과 관련되는 키워드는 무수히 많습니다.

만일 이를 적절히 분석해서 유용한 정보를 얻을 수 있다면 아주 매력적인 결과를 기대할 수 있겠지요? 예를 들어 선거일 즈음의 SNS 데이터를 실시간으로 분석해낼 수 있다면 굳이 출구조사를 할 필요도 없이 선거 결과를 아주 정확히 예측할 수 있을 겁니다.

실제로 이미 많은 기업들이 이러한 빅데이터를 적극 활용하려고 노력하고 있습니다. 최근 이런 이슈를 활용하여 대표적으로 빅데이터를 활용한 사례들을 살펴볼까요.


* 가입자가 좋아할 만한 영화를 추천한 회사 : 넷플릭스(Netflix)


빅데이터가 한 회사를 파산에 이르게까지 할 수 있을까요? 이런 영화 같은 일이 2011년에 미국에서 현실로 일어났습니다.

미국 굴지의 영화 유통회사인 블록 버스터(Blockbuster)를 파산에 이르게 한 회사가 있었습니다. 이 회사는 온라인 가입자에게 DVD 유통 및 대여 서비스와 더불어 특정 영화를 선택한 가입자에게는 빅데이터를 활용한 분석 알고리즘을 활용, 서비스 이용자에게 “가입자가 좋아할 만한 영화”를 추천해 주었습니다. 이 추천 알고리즘을 이용하여 발생한 수익은 이 회사 전체 수익의 60%에 달했으며 빠르게 시장을 잠식해 결국 경쟁사인 블록 버스터를 파산에 이르게 했지요. 이 회사의 이름은 바로 넷플릭스(Netflix)입니다.


* 독감 위험 수준과 확산 현황 서비스 : Google 독감 트렌드


구글(Google)이 제공하는 ‘독감 트렌드 ’ 서비스는 전 세계의 국가별 독감 위험 수준과 확산 현황을 알려주는 서비스입니다. 독감과 관련된 검색어 수를 기존의 독감 감시 시스템과 비교한 결과 독감이 확산되는 시기에 관련 검색어가 많아지는 경향이 있다는 연구결과는 국제 학술지 네이처(Nature)에 등재되었으며, 현재 Google에서 독감 트렌드라는 서비스로 제공되고 있답니다.

 

<Google의 독감 검색어 추이와 실제 독감 환자 데이터 비교>
참고 링크 : http://www.google.org/flutrends/intl/ko/about/how.html


Hadoop은 아파치(Appache)에서 진행하고 있는 ‘아파치 하둡 프로젝트’를 의미합니다. Hadoop 프로젝트의 창시자인 더그 컷팅(Doug Cutting)이 아들이 가지고 놀고 있던 노란 코끼리 인형을 “하둡(Hadoop)”이라고 부르는 것을 보고 거기에서 이름을 가져왔다고 합니다. 하둡 로고의 노란 코끼리가 바로 하둡인 셈이죠.


 

<Hadoop을 대표하는 Logo>


하둡은 “오픈 소스 소프트웨어(OSS)”로 개발되는 프로젝트로 대용량의 정형/비정형 저장, 분석을 위한 분산 컴퓨팅 프레임워크(Framework)라고 정의됩니다. 오픈 소스이기 때문에 누구나 하둡 프레임워크로 빅데이터 솔루션을 구현할 수 있죠.

아파치 하둡의 소프트웨어 라이브러리(library)는 방대한 양의 데이터를 효율적으로 처리하기 위해 여러 대의 컴퓨터에서 데이터를 나누어 처리(분산 처리.distributed processing)할 수 있도록 도와주는 기술(framework.프레임워크)입니다.

아파치 하둡은 방대한 데이터 처리를 위해 필요한 작업들을 수 천대의 컴퓨터로 분산작업을 통해 처리할 수 있는 ‘확장성’을 제공하기 위해서 설계되었습니다. 또한 데이터 처리의 성능을 극대화하기 위해 단순히 하드웨어에 의존했던 기존의 방식을 탈피, 하드웨어가 아닌 애플리케이션 내에서 에러를 발견하고 이에 대한 적합한 조치를 취할 수 있습니다.


* 하둡 아키텍처

하둡 아키텍처는 2004년 발표된 Google Platform 논문을 기반으로 검색 시스템을 만들던 더그 커팅(Hadoop의 창시자)이 하둡의 초기 버전을 개발하면서 본격적으로 발전, 확산되기 시작했습니다. 과거에는 시간과 비용이 너무 많이 들어 처리하기 힘들었던 데이터 분석 및 처리가 하둡을 통해 가능해지면서, 하둡을 통해 이른바 빅데이터라는 새로운 IT트렌드가 생기게 됐지요.

그럼 하둡 아키텍처가 어떻게 대용량의 파일을 쉽게 저장하고 빠르게 처리할 수 있을까요? 하둡의 기본 아키텍쳐의 중심에는 HDFS(Hadoop Distributed File System)와 MapReduce(구글에서 분산 컴퓨팅을 지원하기 위한 목적으로 제작하여 2004년 발표한 소프트웨어 프레임워크)라는 2가지의 큰 저장방식과 처리방식이 자리 잡고 있습니다.

 

<하둡 아키텍처의 개념도>


HDFS는 네트워크로 연결된 서버들의 스토리지를 하나로 묶은 대용량의 파일을 저장할 수 있는 시스템입니다. 분산 파일 시스템은 NameNode와 DataNode로 구성되어 있습니다. NameNode는 각 파일의 저장된 위치를 메모리에서 처리할 수 있고 DataNode는 물리적인 파일을 Block단위로 분산된 Node에 저장할 수 있습니다. HDFS를 통해 적은 리소스로도 대용량의 데이터 처리가 가능해지는 겁니다.


MapReduce는 JobTracker와 TaskTracker로 구성되어 있으며, DataNode에 TaskTracker가 위치하여 분산된 파일을 처리할 수 있습니다. 대용량 파일의 처리를 하나의 프로세스가 하던 기존 방식에서 벗어나, 각 개별 노드에서 데이터를 분할 처리하고 결과를 병합(Merge)하는 방식을 사용하여 대용량의 파일을 빠른 시간에 처리하게 됩니다. 각 작업의 처리는 “Key와 Value”의 형태를 기본 단위로 하여 Map --> Suffle&Sort -> Reduce 의 단계를 거침으로써 병렬/분산 처리로 과거에 어려웠던 업무의 처리가 가능합니다.


* Hadoop 생태계(Echosystem)

하지만 Hadoop만으로 시스템을 구축, 운용하기에는 기능성, 안정성, 관리용이성 등에 한계가 있습니다. 다양한 관련 도구와 솔루션과 연계하여 Hadoop Ecosystem을 구성하여 빅데이터 시스템의 처리 능력을 업그레이드 시킬 수 있습니다. 

 

 <Hadoop Ecosystem 의 사례>


예를 들어 업무 시스템에 필요한 RDBMS(Relational Database Management System. 관계형 데이터베이스 운영시스템) 사용을 검토하는 경우, 하둡의 파일 시스템에서 데이터 저장소로 구성하는 분산 데이터베이스 운영시스템인 HBASE(아파치에서 제공하는 데이터베이스 운영시스템)를 선택을 고려할 수 있으며, Hadoop과 RDBMS간 데이터 전환 도구로는 Sqoop(아파치에서 제공하는 데이터 전환 도구)을 검토해볼 수 있습니다.

로그 및 기타 비정형 데이터를 안정적으로 수집, 저장하기 위해서는 Scribe(분산형 로그 수집 서버)와의 연계를 고려해 볼 수 있으며, 데이터 검색 및 색인이 필요할 때는 Solr(아파치에서 제공하는 데이터 검색 및 색인용 솔루션)를 사용하여 편리하게 검색 엔진을 구성할 수도 있습니다. 이처럼 Hadoop과 연계가 가능한 많은 Software들을 ‘Hadoop Ecosystem’이라 부릅니다.

Hadoop Ecosystem은 지금도 업그레이드 되고 있으며, 지속적으로 기능 개선 및 성능 향상이 진행되고 있어 다양한 요구사항에 필요한 기능을 유연하게 추가, 연계할 수 있는 환경을 제공하고 있습니다. 다음 편에서는 하둡 프레임워크의 특징을 정리해보겠습니다.


Posted by IT로 만드는 새로운 미래를 열어갑니다 LG CNS

댓글을 달아 주세요

  1. Favicon of http://lr.am/Ak6APo BlogIcon Unju Lee 2012.12.21 12:47  댓글주소  수정/삭제  댓글쓰기

    아이티 관련 전문정보 감사합니다. 재미 있어요!

  2. Favicon of http://lr.am/Ak6Svt BlogIcon 박민희 2012.12.23 14:24  댓글주소  수정/삭제  댓글쓰기

    쉽지 않은 이야기지만 잘 보고 갑니다^^

위로