Theme Article Big Data 시대의기술 중앙연구소 Intelligent Knowledge Service 조성우 1. 시대의화두 Big Data 최근 IT 분야의화두가무엇인지물어본다면, 빅데이터가대답들중하나일것이다. 20년전의 PC의메모리, 하드디스크의용량과최신 PC, 노트북사양을비교해보면과거에비해데이터가폭발적으로늘어났다는것을실감할수있을것이다. 특히스마트단말및소셜미디어등으로대표되는다양한정보채널의등장과이로인한정보의생산, 유통, 보유량의증가는계속적으로데이터의기하급수적인증가를이끌고있다. 하지만아래그림과같이수많은데이터중에서가치있는데이터는소수에불과하다. 따라서대용량데이터를처리하고, 의미있는데이터를발굴하는기술이필요하다. 본고에서는빅데이터의정의와종류에대해알아보고, 거침없이증가중인대용량의데이터를관리, 처리, 분석하기위해각광받고있는기술들을살펴보려한다. [ 그림 1] 실제유용한데이터는소수에불과하다 1
2. Big Data 란무엇인가? 빅데이터는어떻게정의할수있을까? 사실빅데이터에대해서구체적이고정량적인정의가합의된바는없다. 세계적인컨설팅기관인 McKinsey & Company는 2011년 5월에발간한보고서 Big Data : The Next Frontier for Innovation, Competition, and Productivity 에서 빅데이터의정의는기존데이터베이스관리도구의데이터수집, 저장, 관리, 분석하는역량을넘어서는데이터셋 Dataset 규모로, 그정의는주관적이며앞으로도계속변화될것이다. 또한데이터량기준에대해산업분야에따라상대적이며현재기준에서는몇십테라바이트에서수페타바이트까지가그범위이다 라고설명한다. 이렇게데이터단위의관점에서빅데이터를생각할수도있지만, 어떠한종류의데이터들이빅데이터를구성하고있는지알아볼필요도있다. 빅데이터의데이터종류는정형화정도에따라다음과같이분류된다. 정의설명정형고정된필드에저장된데이터. 관계형데이터베이스및 (Structured) 스프레드시트등을예로들수있다. 고정된필드에저장되어있지는않지만, 메타데이터나스키마반정형등을포함하는데이터. XML이나 HTML 텍스트등을예로들 (Semi-Structured) 수있다. 고정된필드에저장되어있지않은데이터. 텍스트분석이비정형가능한텍스트문서및이미지 / 동영상 / 음성데이터등을예로 (Unstructured) 들수있다. [ 그림 2] 비정형데이터와반정형데이터의예 2
이중비정형데이터의증가속도는누구도예측할수없는정도이며, 비교적선형적으로증가하던정형데이터조차연간 40~60% 에이르는증가세를보이고있다. 그렇다면빅데이터를처리는기존데이터처리와어떻게다를까? IT 시장조사기관 Gartner는 2011년 1월발간한보고서 Big Data Analytics 에서기존데이터처리와빅데이터처리에대해다음과같은차이점을설명했다. 빠른의사결정이상대적으로덜요구된다 : 대용량데이터에기반한분석위주로, 장기적 / 전략적접근이필요하다. 따라서기존의데이터처리에요구되는즉각적인처리속도와는달리, 즉각적인의사결정이상대적으로덜요구된다. 처리 Processing 복잡도가높다 : 다양한데이터소스, 복잡한로직처리, 대용량데이터처리등으로인해처리복잡도가매우높으며, 이를해결하기위해통상적으로분산처리기술이필요하다. 처리할데이터양이방대하다 : 클릭스트림 Clickstream 데이터를예로들면, 고객정보수집및분석을장기간에걸쳐수행해야하므로기존방법과비교해처리해야할데이터양은방대하다. 비정형데이터의비중이높다 : 소셜미디어데이터, 로그파일, 클릭스트림데이터, 콜센터로그, 통신 CDR 로그등비정형데이터파일의비중이매우높다. 처리의복잡성을증대시키는요인이기도하다. 처리 / 분석유연성이높다 : 잘정의된데이터모델 / 상관관계 / 절차등이없어, 기존데이터처리방법에비해처리 / 분석의유연성이높은편이다. 또한, 새롭고다양한처리방법의수용을위해, 유연성이기본적으로보장돼야한다. 동시처리량 Throughput 이낮다 : 대용량및복잡한처리를특징으로하고있어, 동시에처리가필요한데이터양은낮다. 따라서 ( 준 ) 실시간처리가보장되어야하는데이터분석에는적합하지않다. 3
[ 그림 3] 빅데이터의성격을한눈에보여주는그래프 3. Big Data 를위한분석기법 위의 6 가지빅데이터처리의특징을만족시키기위해다양한스토리지, 컴퓨팅 기술및분석기법들이빅데이터처리를위해개발되었다. 빅데이터기술은크게 분석기법과분석인프라측면으로나누어볼수있다. 대부분의분석기법들은통계학과전산학, 특히기계학습 / 데이터마이닝분야에서이미사용되던기법들이며, 이분석기법들의알고리즘을대규모데이터처리에맞도록개선하여빅데이터처리에적용시키고있다. 최근소셜미디어등비정형데이터의증가로인해, 분석기법들중에서텍스트 / 오피니언마이닝, 소셜네트워크분석, 군집분석등이주목을받고있다. Text Mining 텍스트마이닝은비 / 반정형텍스트데이터에서자연어처리 Natural Language Processing 기술에기반하여유용한정보를추출, 가공하는것을목적으로하는기술이다. 텍스트마이닝기술을통해방대한텍스트뭉치에서의미있는정보를추출해내고, 다른정보와의연계성을파악하며, 텍스트가가진카테고리를찾아내는등, 단순한정보검색그이상의결과를얻어낼수있다. 컴퓨터가인간이사용하는언어 ( 자연어 ) 를분석하고그안에숨겨진정보를발굴해내기위해대용량 4
언어자원과통계적, 규칙적알고리즘이사용되고있다. 주요응용분야로문서분류 Document Classification, 문서군집 Document Clustering, 정보추출 Information Extraction, 문서요약 Document Summarization 등이있다. Opinion Mining 텍스트마이닝의관련분야로는오피니언마이닝, 혹은평판분석 Sentiment Analysis라고불리는기술이있다. 오피니언마이닝은소셜미디어등의정형 / 비정형텍스트의긍정 Positive, 부정 Negative, 중립 Neutral 의선호도를판별하는기술이다. 오피니언마이닝은특정서비스및상품에대한시장규모예측, 소비자의반응, 입소문분석 Viral Analysis 등에활용되고있다. 정확한오피니언마이닝을위해서는전문가에의한선호도를나타내는표현 / 단어자원의축적이필요하다. Social Network Analytics 소셜네트워크분석은수학의그래프이론 Graph Theory 에뿌리를두고있다. 소셜네트워크연결구조및연결강도등을바탕으로사용자의명성및영향력을측정하여, 소셜네트워크상에서입소문의중심이나허브 Hub 역할을하는사용자를찾는데주로활용된다. 이렇게소셜네트워크상에서영향력이있는사용자를인플루언서 Influencer 라고부르는데, 인플루언서의모니터링및관리는마케팅관점에서중요하다고할수있다. Cluster Analysis 군집분석은비슷한특성을가진개체를합쳐가면서최종적으로유사특성의군 Group 을발굴하는데사용된다. 예를들어트위터상에서주로사진 / 카메라에대해이야기하는사용자군이있을수있고, 자동차에대해관심있는사용자군이있을수있다. 이러한관심사나취미에따른사용자군을군집분석을통해분류할수있다. 4. Big Data 분석인프라기술 위의분석기법들은테라바이트혹은페타바이트규모의데이터에적용되고있다. 그렇다면엄청난규모의빅데이터분석을수행할수있는인프라기술은어떤것이있을까? 일찍이트래픽을점유해왔던회사들은빅데이터처리를위한 5
인프라기술에골몰해왔다. 야후, 아마존, 구글등의회사들은각자의기술을개발, 오픈소스화하는데앞장섰다. Hadoop 하둡은오픈소스 Opensource 분산처리기술프로젝트로, 현재정형 / 비정형빅데이터분석에가장선호되는솔루션이라고할수있다. 실제로야후와페이스북등에사용되고있으며, 채택하는회사가늘어나고있다. 주요구성요소로하둡분산파일시스템인 HDFS Hadoop Distributed File System, Hbase, MapReduce가포함된다. HDFS와 Hbase는각각구글의파일시스템인 GFS Google File System 와빅테이블 Big Table의영향을받았다. 기본적으로비용효율적인 x86 서버로가상화된대형스토리지 (HDFS) 를구성하고, HDFS에저장된거대한데이터셋을간편하게분산처리할수있는 Java 기반의 MapReduce 프레임워크를제공한다. 이외의 Hadoop을기반으로한다양한오픈소스분산처리프로젝트가존재한다. [ 그림 4] 하둡의구조와그에대응하는구글의분산처리기술 R 오픈소스프로젝트 R은통계계산및시각화를위한언어및개발환경을제공하며, R 언어와개발환경을통해기본적인통계기법부터모델링, 최신데이터마이닝기법까지구현 / 개선이가능하다. 이렇게구현한결과는그래프등으로시각화할수있으며, Java나 C, Python 등의다른프로그래밍언어와연결도용이하다. Mac OS, 리눅스 / 유닉스, 윈도우등의대부분의컴퓨팅환경을지원하는것도장점이다. 위의장점들로인해 R은통계분석분야에서인지도를높여왔으며, 하둡환경상에서분산처리를지원하는라이브러리덕분에구글, 페이스북, 아마존등의빅 6
데이터분석이필요한기업에서대용량데이터통계분석및데이터마이닝을위해널리사용되고있다. NoSQL NoSQL은 Not-Only SQL, 혹은 No SQL을의미하며, 전통적인관계형데이터베이스 RDBMS 와다르게설계된비관계형데이터베이스를의미한다. 대표적인 NoSQL 솔루션으로는 Cassandra, Hbase, MongDB 등이존재한다. NoSQL은테이블스키마 Table Schema 가고정되지않고, 테이블간조인 Join 연산을지원하지않으며, 수평적확장 Horizontal Scalability 이용이하다는특징을가진다. 관계형데이터베이스의경우, 일관성 Consistency ( 모든노드는같은시간에같은데이터를보여줘야한다 ) 과유효성 Availability ( 일부노드가다운되어도다른노드에영향을주지않아야한다 ) 에중점을두고있는반면, NoSQL 기술은분산가능성 Partition Tolerance( 네트워크전송중일부데이터를손실하더라도시스템은정상동작을해야한다 ) 에중점을두고일관성과유효성은보장하지않는다. 이것은일관성, 유효성, 분산가능성중 2가지만보장이가능하다는분산데이터베이스시스템분야의 CAP 이론에따른것이다. 따라서대규모의유연한데이터처리를위해서는 NoSQL 기술이적합하지만, 안정성이중요한시스템에서는오랫동안검증된관계형데이터베이스를채택할필요가있다. 4. Big Data 시대를맞이하여 본고에서는빅데이터시대를맞이하기위해필요한분석기술과인프라기술에대해서살펴보았다. 물론본문에서빅데이터처리를위한모든기술에대해논하지못했지만, 현재대표적으로알아야할기술에대해선어느정도논의했다고생각된다. 이런다양한기술및기법들을실제빅데이터분석에활용하기위해서는보유하고있는데이터의성격과기술의장단점을잘파악하고적용하는것이중요할것으로보인다. 또한기술및인프라관점에서만빅데이터를바라보는것이아니라빅데이터에기반한새로운서비스에대해서도고민이필요하다. 고도화된빅데이터처리기술을기반으로한새로운서비스들이앞으로열어갈미래가기대된다. 7
< 참고문헌및웹사이트 > [1] 하둡기술연계한데이터분석, 김희배, 2011년 9월 [2] Big Data Analytics, Gartner, 2011년 1월 [3] Big Data : The Next Frontier for Innovation, Competition, and Productivity, McKinsey & Company, 2011년 5월 [4] Managing Big Data with Hadoop & Vertica, Vertica Systems, 2009년 10월 [5] http://hadoop.apache.org/ [6] http://www.r-project.org/ [7] http://cassandra.apache.org/ [8] http://www.mongodb.org/ 8