주간기술동향 2012. 4. 11. 미래사회와빅데이터 (Big data) 기술 정병권 ETRI 서버플랫폼연구팀 / 선임연구원 bkjung@etri.re.kr 김학영, 최완 ETRI 클라우드컴퓨팅연구부 1. 서론 2. 빅데이터요소기술 3. 빅데이터분석기술 4. 빅데이터처리기술 5. 빅데이터미래기술 6. 결론 1. 서론스마트폰과 SNS 혁명으로인해몇년전만해도생각지도못한엄청난양의데이터가생성되고있다. 양만많은것이아니라그종류도다양해지고있으며, 정형화된데이터뿐만아니라비정형화된데이터도늘고있다. 페타바이트급데이터웨어하우스, 소셜네트워크, 실시간센서데이터, 지리정보및기타여러가지새로운데이터소스가출현함에따라기업들은다양한문제에직면하게되었다. 이러한데이터의급격한증가는이제기존처리방식으로는증가하는데이터를감당할수없으며, 정보처리의새로운패러다임을필요로한다. 빅데이터 (Big Data) 란무엇인가? 일반적으로빅데이터는기존데이터에비해너무커서기존방법이나도구로수집, 저장, 검색, 분석, 시각화등이어려운정형또는비정형데이터를의미한다. 두개의기관에서는다음과같이정의하였다 [1]. - DB 의규모에초점을맞춘정의 (Mckinsy, 2011): 일반적인 DB SW 가저장, 관리, 분석할수있는범위를초과하는규모의데이터 - 업무수행에초점을맞춘정의 (IDC, 2011): 빅데이터는다양한종류의대규모데이터로부터저렴한비용으로가치를추출하고, 데이터의초고속수집, 발굴, 분석을지원하도록고안된차세대기술및아키텍처 * 본내용과관련된사항은 ETRI 서버플랫폼연구팀정병권선임연구원 (042-860-1537) 에게문의하시기바랍니다. ** 본내용은필자의주관적인의견이며 NIPA 의공식적인입장이아님을밝힙니다. 12 www.nipa.kr
빅데이터의정의를단순한정량적인차원에서접근해서는안될것이다. 왜냐하면빅데이터는지속적으로변하면서산업별, 시장별구분에따라다르게적용되기때문이다. 2011 년에발표된 IDC 의 Digital Universe 연구조사에의하면, 새롭게생성되거나복제된정보의양이 2011 년에 1.8 ZB(1 조 8,000 억 Gigabyte) 를넘어서고, 향후 5 년후에는거의 9 배가까이증가할전망이다. 1.8 제타바이트는대한민국모든사람 ( 약 4,875 만명, 2010 년기준 ) 이 18 만년동안쉬지않고, 1 분마다트위터에 3 개의글을게시하는양과같다. 또 2 시간짜리 HD 영화 2,000 억개와맞먹는양이다. 전세계의디지털정보량은 2 년마다 2 배씩증가하고있다 [2]. 소셜미디어와스마트폰에서촉발된빅데이터이슈가산업전반에확산되면서방대한양의데이터가생산되고있고, 이를기반으로한데이터중심의제 4 세대연구패러다임이새롭게떠오르고있다. 기업의무한경쟁, 과학기술의거대화와융복합화가속, 삶의질적수준향상요구, 재난대응, 일자리창출등사회변화와현안해결에빅데이터의역할이매우중요하다. 또한빅데이터의수집과분석을위한컴퓨팅파워, 소프트웨어, 정보분석모델, 가시화, 인공지능등의기술이수반되어야할것이다. 2. 빅데이터요소기술빅데이터를설명할때다음과같이크게 3 가지요소를들수있다 [3]. 첫째, 데이터의크기 (Volume): 데이터의크기로물리적인크기보다는앞서정의에서설명한크기이다. 웹로그데이터나 g-mail 등의메일데이터는수 PB 이상이되지만트위터네트워크데이터는수십 GB 미만이다. 앞의데이터는안정적인저장이가장큰해결과제인반면네트워크데이터는분석및처리가가장큰이슈이다. 따라서단순한물리적인크기가아닌데이터의어떤속성에따라중요성을판단하고그것을처리하는데어려움이있느냐없느냐인것이다. 둘째, 데이터의속도 (Velocity): 데이터를처리하는속도이다. 정의부분에서도설명했듯이배치분석만을의미하는것이아니다. 필요에따라서수많은사용자요청을실시간으로처리한후처리결과를보내주는기능도필요하다. 셋째, 데이터의형태 (Variety): 전통적인기업의데이터분석은기업내부에서발생하는운영데이터인 ERP, SCM, MES, CRM 등의시스템에저장되어있는 RDBMS 기반의정형 정보통신산업진흥원 13
주간기술동향 2012. 4. 11. 데이터였다. 이러한정형데이터는잘정제되어있고의미도명확하다. 그리고, 스키마를포함하는 XML, HTML 등의반정형데이터도있다. 하지만, 최근에는이런데이터뿐만아니라기업외부에서발생하는 SNS, 블로그, 뉴스, 게시판등의데이터나사용자가업로드한파일, 콜센터의고객상담내용등의비정형데이터도처리해야한다. ( 그림 1) 은 2011 년 TDWI Research 에서발표한빅데이터의 3 대요소를나타내었다. ( 그림 1) 빅데이터의 3 대요소 ( 그림 2) 는 2010 년 PWC 에서발표한데이터특성인형태와크기에따라구분한그래 프이다. 빅데이터의포지션을잘나타내주고있다 [4]. Lage data sets Big Data (via Hadoop/ MapReduce) Less scalability Small data sets Little analytical value Traditional BI Non-relational data Relational data ( 그림 2) 데이터특성에따른빅데이터의포지션 14 www.nipa.kr
H igh processing power Enterprises facing scaling and capacity/cost problems Google, Amazon, Facebook, Twitter, etc.(all use nonrelational data stores for reasons of scale Low processing power Most enterprises Cloud users with low compute requirements Centralized compute architecture Distributed compute architecture ( 그림 3) 프로세서파워에따른컴퓨터구조의포지션 ( 그림 3) 은데이터아키텍처배치를컴퓨팅아키텍처에따른프로세싱파워에따라구 분한그래프이다. 현재빅데이터의위치를잘표현한그래프이다. 3. 빅데이터의분석기술지금까지의데이터분석기술은대부분한대의컴퓨터상의메모리, 파일시스템, 데이터베이스에데이터를저장하고이를기반으로데이터를분석하는알고리즘을실행하는구조였다. 대부분의통계툴들은여전히메모리에데이터를로딩해서통계 / 분석 / 마이닝알고리즘을실행하는것이기본구조이다. 이것이데이터베이스시스템이나오면서대용량의데이터를처리할수있어규모가커지게되었다. 하지만여전히이러한분석시스템의구조는싱글머신 / 싱글코어에최적화되어있었으며, 최근에는싱글머신 / 멀티코어에서실행할수있는다양한알고리즘의개발과시스템들이등장하고상용화되어쓰고있다. 지금까지빅데이터라고하는것을처리하기위해서는몇백기가메모리와 SAN 스토리지로대용량의파일시스템을마운트할수있는고사양고가의하이엔드급서버를이용해서 DW, DM 을구축해왔다. 데이터증가에따른시스템확장은더고사양의장비로교체하거나 CPU/ 메모리 / 디스크증설이라는방식을이용해서하는 scale-up 방식만이유일했다. 문제는최근구글, 아마존, 야후, 페이스북, 트위터와같은인터넷기업들이고객들의사용로그와트랜잭션로그를기반으로데이터마이닝과이를기반으로하는서비스, 광고플랫폼을구축하고자 정보통신산업진흥원 15
주간기술동향 2012. 4. 11. 하면서그한계에이르게되었다. Terabyte 에서 Petabyte 규모의데이터를분석하여검색엔진, 소셜서비스, 광고등을하기에는기존의시스템, 소프트웨어아키텍처로는불가능했던것이다. 뿐만아니라이들이처리해야하는데이터들은데이터베이스에깔끔히정리된정형화된데이터가아니라, 웹을통해서수집한다양한비정형데이터와함께비디오, 사진, 음향등다양한미디어정보를수집해서분석해야하기때문에더욱힘들어질수밖에없게된것이다. 구글은이러한문제점을해결하기위해 MapReduce 라는프로그래밍모델과대용량분산처리프레임워크와대용량데이터를효과적으로저장하고확장할수있는구글파일시스템 (GFS) 기술을활용하였다. 구글이가진기술을참고해서등장한다양한 MapReduce 프레임워크중에서가장주목을받고그기반으로커다란에코시스템을갖추게된것이바로자바기반의 Apache Hadoop 이다. Hadoop 은다수의서버를묶어분산처리하는플랫폼이며, 분산처리하는 Map 단계와결과를취합하는 Reduce 단계로이루어진구글의 MapReduce 모델을본떠만든것으로야후의더그커킹에의해서처음으로개발되고배포되었다. Hadoop 은예전리눅스의등장으로 OS 시장이틀을크게바꾸었듯이빅데이터분석시장에있어서커다란대안으로등장하고있다. 야후내부에서사용하던이기술이오픈소스로발표되어크게주목을받으면서사실상현재페이스북, 트위터, 링크드인, 이베이, 아마존등많은글로벌인터넷, 커머스업체들은빅데이터처리를위해서 Hadoop 의사용을당연시하고있으며, 이를기반으로한다양한처리프레임워크나기술들을공개하고있고그저변을매우빠르게넓혀가고있다. 국내의대표포털네이버, 다음등인터넷기업들뿐아니라 S 클라우드를준비하고있는삼성전자와같은제조사역시스마트폰, 스마트디바이스를위한콘텐츠서비스와이를통해서발생하는엄청난로그데이터처리를위해 Hadoop 을적극적으로활용하고있다. 그리고, 넥스알 (NexR) 이 Hadoop 및클라우드기술을기반으로다양한컨설팅및사업을추진하였고, 2011 년말 KT 의자회사로인수되면크게주목을받았다. 최근에는 KT 이노츠 (innotz) 와합병되면서 KT 클라우드웨어라는회사로거듭나면서사업영역과규모가더욱커졌다. 넥스알은꾸준히국내의 Hadoop 오픈소스커뮤니티의활동을적극지원하고있고, 최근에는 RHive 라고하는 R 와 Hive 을결합한시스템을오픈소스로공개하는등국내의 Hadoop 저변확대에많은지원을하고있다. 16 www.nipa.kr
가. 빅데이터의솔루션업체대표적인 Hadoop 솔루션업체로 Cloudera 와 Hortonworks 를들지만, 엔터프라이즈업체로 MapR 가있다. 야후에서분사한 Hortonworks 가 Hadoop 코어의기술과아키텍처개선등을담당하고, Cloudera 는빅데이터와클라우드시장의기술지원, 교육및배포판을제공하고있다. 전통적인솔루션업체들을살펴보면, IBM 은 Apache Hadoop 을기반으로자신들의 Basic 과 Enterprise 배포판을가지고있고, EMC 는자신의 DW 솔루션인 Greenplum 에 MapR 의배포판을통합해서제공하고있으며, Apache Hadoop 을기반으로 Community Edition 을제공하고있다. Oracle 은자신의하드웨어에 Cloudera 를결합하여 Hadoop Appliance 를제공하고있다. 이밖에다음과같이 Apache Hadoop 을기반으로빅데이터시장에제품을소개한회사가있다. - DataStax: Hadoop+Hive+Cassandra, http://www.datastax.com/ ( 그림 4) Hadoop 솔루션업체와의관계도 정보통신산업진흥원 17
주간기술동향 2012. 4. 11. - Datameer: Analytic Solution, http://datameer.com - Hadapt: Analytics Platform, http://www.hadapt.com/ - HStreaming: Real-time processing, http://hstreaming.com/ ( 그림 4) 에 Hadoop 솔루션업체와기존의전통적인 BI, DW 등의관계를간단하게정리하였다. 나. 빅데이터기술빅데이터를다루는기술들은어떤것들이있을까? 빅데이터라는용어를이끌어낸것도 Hadoop 과 NoSQL 의성공에있다고볼수있기때문에가장중요한기술은 Hadoop 이라할수있다. Hadoop 자체는파일시스템과분산처리플랫폼이지만 Hadoop 을중심으로다양한에코시스템이구축되면서이제 Hadoop 은빅데이터에있어산업계표준이라고할수있다. Hadoop 이빅데이터를분석처리하는데주로사용될것으로생각하지만, 비정형데이터뿐만아니라정형데이터도처리할수있어야하기때문에다양한기술들이필요하다. 이러한다양한요소기술들의집합체를 Hadoop ECOsystem 이라고한다. ( 그림 5) 는 Hadoop ( 그림 5) Hadoop ECO system 의 software stack 18 www.nipa.kr
ECOsystem 의 software stack 이다 [5]. Data Store 부터인터페이스까지 6 개파트로구 분된다. 이런기술들이필요에따라적절하게도입되어야빅데이터를처리할수있는시스템을 구축할수있다. 언급한기술하나하나쉽지않은기술이며아직성숙되지않은기술도많 다. 다행인것은대부분오픈소스로코드와기술이많이공개되어있다는것이다. 여러기술이있지만이중가장중요한기술은어떤데이터를분석할것인가를정의하 고, 데이터간의관계를찾아서의미없는데이터로부터의미를찾아내는기술이가장중 요한기술이다. < 표 1> 에 Hadoop ECOsystem 의요소기술들을정리하였다 [6]. 최근들어 MySQL, Oracle, DB2, and SQL Server 등의상용관계형 DB 보다성능이 우수한오픈소스및인덱스기반의데이터저장구조를가진이른바 NoSQL(Not only SQL) 이라는새로운형태의데이터스토리지솔루션이개발되었다. 재정이빈약한 Web 2.0 기업들이구글이나아마존, MS 등의대기업군을따라잡으려 < 표 1> Hadoop ECOsystem 의요소기술 Scope Project Status Structured data HBase, Cassandra, MongoDB, CouchBase, Cloudata, Riak Hadoop subproject Storage, Parallel processing Hadoop Top level project, healthy community Parallel machine learning Mahout, Radoop, Rapid Miner Incubating Distributed Queue Kafka, Bookeper stable Enterprise search Solr, Katta, Elastic search stable Metadata extraction Tika Incubating Free text indexing and search engine Lucene Stable, de-facto standard solution Crawler and search engine Nutch Stable, slow process Parallel scripting language Hive, Pig, Avro Incubating, contributed by Yahoo Distributed locking naming service(coordinator) ZooKeeper, Chukwa Hosted on SourceForge, developed by Yahoo Unstructured information UIMA Incubating, contributed by IBM MapReduce extension TupleFlow non Apache, BSD license MapReduce extension cascading non Apache, GPLv3.0 license Statistics, Matrix R, RHIPE, CUDA, Segue stable Streaming Analysis S4, Esper, Akka, Storm stable Distributed Cache Redis, Membase stable Graph Analysis Hama, GoldenORB, Pregel stable 정보통신산업진흥원 19
주간기술동향 2012. 4. 11. 면오픈소스기반의 NoSQL 밖에는대안이없다. 한예로, 페이스북은기존데이터베이스인 MySQL 이아니라카산드라 (Cassandra) 데이터스토어를개발하였다. 그래서 Rick Cattell 의 High Performance Scalable Data Stores 라는 Paper 내언급된 NoSQL 이라는데이터저장시스템의공통된특징들을아래와같이정리하였다 [7]. - Key & Value 로저장 - 분산환경지원 - Call level interface 지원 (DBMS 에접근하는표준 ) - 막대한양의데이터를처리할수있는대용량데이터의빠른인덱싱 - 클러스터나그리드에서의구동을위해다양한테이블로데이터베이스를나눠야하는복잡한작업과 샤딩 (sharding) 없이손쉽고저렴하게여러서버들의수평적확장 (horizontal scaling) 됨 - 데이터의스키마와속성들을동적으로정의 4. 빅데이터의처리기술 빅데이터처리기술은다음 3 가지의기술로요약되며, 그활용분야를예로들었다. 가. 분석기술데이터를분석하는기술과방법을의미하며통계, 데이터마이닝, 기계학습, 자연어처리, 패턴인식등이이에해당된다. 가장기본적인오픈소스기반빅데이터처리기술이 Hadoop 이다. 분산된파일을처리하는데최적화된 Hadoop 은저장장치를병렬로연결시켜데이터를처리하는방식으로, 별도의스토리지가필요없고, 대규모데이터를빠르게, 비용효율적으로처리하는데적합하다. 비구조화된데이터를구조화하는기술이 MapReduce 이고, SQL 을사용하지않고, 대량의데이터를빠르게처리하는기술이 NoSQL 이다. 이러한기술들은데이터의안정성이정합성보다속도, 비용에초점을맞췄기때문에일부데이터의유ㆍ손실이발생해도처리결과가영향을받지않는업무에적합하다. 로그데이터처리혹은분석하는업무를대표적인예로들수있다. 나. 표현기술 일반적으로데이터의시각화로알려져있으며, 분석된데이터의특징이나의미를쉽게 20 www.nipa.kr
알수있도록잘표현해주는기술이다. 대표적인시각화표현기술은 R 로통계계산및시각화를위한언어및개발환경을제공하며, 기본적인통계기법으로부터모델링, 최신데이터마이닝, 시뮬레이션, 수치해석기법까지구현가능하다. 구현결과는그래프등으로시각화할수있으며, 다른프로그래밍언어와연결도용이하다. 게놈, 신약연구와금융예측분석에활용되고있다. 다. 분석인프라분석과표현을수행할수있도록해주는기반기술과플랫폼들이라고할수있으며, 이러한분석인프라는다시대규모데이터를안정적으로수집해서저장하는기술, 저장된것을효과적이면서도빠르게처리할수있는기술, 저장된데이터를다양한방식과용도로사용할수있도록가공하고관리해주는기술등으로나누어진다. 예를들면 BI(Business Intelligence), DW(Data Wearhousing), Cloudcomputing, 분산데이터베이스 (NoSQL), 분산병렬처리 (Hadoop MapReduce), 분산파일시스템등이분산인프라에속하는기술들이다. 5. 빅데이터미래기술 빅데이터의미래기술을다음두가지로정리해보았다. 가. 실시간빅데이터분석기술여기서말하는실시간의의미는디바이스에서말하는하드웨어레벨의실시간데이터프로세싱이아니라, 비지니스레벨또는서비스레벨에서의실시간데이터분석기술이다. 예를들어서새로운광고를웹사이트에노출시켰을때방문자들의클릭스트림을얼마나빨리처리해서고객들의반응을분석하고리포팅하는것, 그리고엄청나게폭주하는주식거래의실시간트랜잭션을분석하는것도포함된다. 이러한실시간데이터분석을위해서주목받는기술중하나가 Complex Event Processing(CEP) 라고하는기술이다. 다시말해실시간으로발생하는복수의이벤트로부터특정패턴을찾아내서원하는데이터처리나알림서비스를하는기술이다. 나. 실시간빅데이터형상화 (Visualization) 기술 소셜네트워크및서버등에서발생하는다양한데이터로그를한데모아분석하고, 이 정보통신산업진흥원 21
주간기술동향 2012. 4. 11. 를형상화하여 IT 자원의효율성을높이는기술이다. 분석된결과를사용자가이해하기쉬 운형태로효과적으로데이터를보여줄수있는표현방식과이를프로세싱하기위한알고 리즘등의기술이다. 6. 결론본고에서는빅데이터시대에필요한다양한기술들에대해서살펴보았다. 빅데이터분석을통해기업은사회와인류의유용한정보를효과적으로분석해서전략마케팅을펼치고, 정부는사회구성원들이쏟아내는막대한정보를분석을통해교통, 세금, 범죄, 재난대처등사회각영역에서과거와는차원이다른정확한정보를토대로예산집행의효율성과공공서비스의질을효과적으로높여빅데이터시대의도래에따른국가경쟁력향상을위한준비가필요하다. 마지막으로, 정부 / 기업양측의빅데이터활용의중요성을공감하고, 빅데이터활용방안및전문인력양성을통해미래사회효과적대비를위한역할분배논의가요구된다. - PB(Peta byte): 디지털신호의처리속도또는용량을표시하는단위로 1015 이다. 1PB 는 1,024TB 이다. - ERP(enterprise resources planning): 전사적자원관리, 기업활동을위해사용되는기업내의모든인적, 물적자원을효율적으로관리하여궁극적으로기업의경쟁력을강화시켜주는역할을하는통합정보시스템이다. - SCM(Supply Chain Management) 은기업에서생산ㆍ유통등모든공급망단계를최적화해수요자가원하는제품을원하는시간과장소에제공하는 공급망관리 를뜻한다. - CRM(customer relationship management) 고객관계관리는기업이고객관계를관리해나가기위해필요한방법론이나소프트웨어등을가리키는용어이다. 기업들이고객들의성향과욕구를미리파악해이를충족시켜주고기업들이목표로하는수익이나광고효과등원하는바를얻어내는기법을말한다. - BI(Business Intelligence) 는데이터를정보화시키고이를이용하여회사경영에도움을주는정보를추출기법을말한다. - DW(Data Warehouse) 는기존시스템의데이터베이스에축적된데이터를추출하여 22 www.nipa.kr
공통형식으로변환, 일원화시켜새롭게생성된데이터베이스로다양한형태의데이터에대해사용자분석이용이하도록주제지향적, 비휘발적으로구성한통합자료저장소이다. - DM(data mining) 많은데이터가운데숨겨져있는유용한상관관계를발견하여미래에실행가능한정보를추출해내고의사결정에이용하는과정을말한다. - NoSQL(Not Only SQL) 은오픈소스기반의고성능의분산데이터저장시스템으로관계형데이터베이스의한계를극복하기위한데이터저장소의새로운형태의수평적확장을특징으로한다. 관계형이아니기때문에 join 이없고고정된스키마를갖지않는다. - DW 는운영데이터의추출, 변환, 적재된데이터들의모임으로큰 DB 라고생각하면편하겠다. - 샤딩 (sharding) 은여러노드에서테이블구조를복제하지만이러한노드사이에서데이터를논리적으로나누는파티셔닝의한양식이다. - DB2(Database 2) 1983 년에발표된미국 IBM 의관계형데이터베이스관리시스템이다. 여러사용자들이여러개의데이터베이스에동시에접근할수있는대형데이터베이스를위한시스템이다. < 참고문헌 > [1] Big Data: The next frontier for innovation, competition, and productivity, McKinsey. 2011. 5. [2] IDC IVIEW Extracting Value from Chaos June 2011 By John Gantz and David Reinsel. [3] TDWI Research 2011 Big Data Analytic Report [4] Technology forecast Making sense of Big Data A quarterly journal 2010, Issue 3 [5] 김형준, Cloud Computing 기술을활용한 BigData 를위한아키텍처및기술 2011. 12. [6] http://www.lifeyun.com/hadoop-mapreduce.html [7] High Performance Scalable Data Stores, Rick Cattell. February 22, 2010. 정보통신산업진흥원 23