빅 데이터 시대의 R

최 대 우 교수

한국외대 통계학과


<빅 데이터 시대>

소셜 미디어와 스마트 폰의 보급으로 서비스 사용자가 직접 생산하는  실시간 상황(context)과 위치정보와 같은 다양한 형태의 엄청난 규모의 데이터로부터 가치(value)를 발굴하려는 움직임은 빅 데이터 시대(big data era)라는 신조어를 탄생 시켰다.

빅 데이터의 정의는
맥킨지 글연구소(McKinsey Global Institute)가 2011년 5월에 발표한 보고서 “Big data: the next frontier for innovation, competition, and productivity”에서 현재 데이터를 관리 하는 소프트웨어가 다루기 어려운 규모의 데이터로 소개하였다. 즉, 기술의 발달로 다룰 수 있는 데이터의 규모가 커지면 빅 데이터의 정의도 변한다는 의미이다. 이 보고서는 미국 대통령 직속 과학기술자문위원회에서 2010년 12월에 발표한 “Designing a digital future”라는 보고서와 함께 빅 데이터 분석의 중요성과 그와 관련된 기술, 데이터 과학자(data scientist)의 필요성을 역설하고 있다.

자는 개인적으로 세가지 주요 특징으로 빅 데이터를 정의한 IBM 주장을 가장 선호한다. 첫째, 데이터의 원천이 기존의 고객 데이터 등 기업 내부의 것뿐 아니라 소셜 미디어, 서비스 이용 위치정보 등 데이터 원천이 다양하며 그에 따라 데이터의 형태도 정형화되어 있지 않다는 점, 둘째로 서비스 사용자가 데이터를 직접 실시간 생산하여 엄청난 규모라는 점, 마지막으로 실시생산되는 데이터를 즉시 분석하여 분석결과를 바로 활용하겠다는 의지에 바탕한다는 점이 빅 데이터의 특징이라 할 수 있다. IBM에서는 이와 같은 특징을 반영하여 빅 데이터를 알파벳 V로 시작하는 세 단어 1) variety(다양성 및 비구조적인 측면) 2) volume(데이터의 규모) 3) velocity (실시간 데이터 생성 및 분석의 필요성)차원(dimension)으로 표현한다.

빅 데이터
로부터 가치를 발굴하기 위한 방법으로 빅 데이터와 함께 중요하게 부각되는 것이 바로 어낼리틱스(analytics)다. 현재의 분위기는 1990년대말 데이터웨어하우스와 함께 데이터마이닝이 소개되던 당시와 유사하다. 물론 빅 데이터와 어낼리틱스도 IBM이나 SAS와 같은 IT 벤더들이 붐을 일으키기 위해 본질적인 이해 없이 도입 효과를 과장하는 측면도 있지만, 구글, 페이스북, 아마존과 같이 빅 데이터를 기반으로 서비스를 제공하고 있는 실례나 우리 스스로 스마트 시대, 클라우드 컴퓨팅 시대에 있다는 현실은 분명 90년대말과는 달리 매우 현실적이며 구체적이다.

<빅 데이터 분석을 위한 주요 IT 기술>

빅 데이터 시대와 함께 찾아온
어낼리틱스(analytics)의 전문화, 통계학계는 이 변화에 어떻게 대처하여야 하는가? 과연 빅 데이터 시대는 통계인에게 기회인가? 빅 데이터의 주요 변화를 살펴 본다면 그 변화에 적합한 분석 패러다임의 변화를 도출할 수 있고, 그 변화에 대한 통계인, 통계학계의 현황을 점검해 보면 해답을 찾을 수 있을 것 이다.

빅 데이터의 특징을 고려했을 때, 빅 데이터 분석을 위해 다음과 같은 기술들이 필요하다:

1. 빅 데이터 처리를 위한 분산처리 기술
2. 사용자 편이성이 극도로 향상된 dynamic visualization 소프트웨어
3. 통계
분석엔진에 의한 분석 자동화

빅 데이터 분석을 위한
선도적인 IT 기술들도 필요하나, 통계인과 직접 관련된 새로운 것들은 위의 세가지 정도로 요약할 수 있다. 이 세 가지 기술에 접목할 수 있는 데이터 과학자들도구로 부상하고 있는 것이 바로 R이다.

<R의 역사>

R
의 탄생 및 발전과정을 살펴보면 R이 빅 데이터 시대의 통계 분석도구를 넘어 기업의 분석 플랫폼으로 할 수 밖에 없는 이유를 이해할 수 있을 것이다.

R은 1980년대 미국 Bell Lab에서 객체지향언어인 C++와 유닉스가 개발될 즈음에 데이터 분석용 객체지향언어인 S언어가
개발된데서 그 뿌리를 찾을 수 있다. 즉, S언어는 SAS나 SPSS와 같이 정해진 분석 프로시저에 준비된 데이터를 대입하여 분석 결과만을 해석하는 패키지가 아니라, 데이터를 중심으로 데이터 과학자들로 하여금 고유의 창의적이며 데이터 특성을 고려한 방법을 구현하는 프로그래밍 언어로 출발한 것이다.

S언어는 Mathsoft를 거쳐  Insightful사의 S-PLUS라는 이름의 제품으로 최근까지 대학, 연구소, 제약회사, 금융공학 분야에서 많은 사용자층을 확보해 왔고, 2008년 이후는 Tibco라는 유명한 IT회사 제품으로 남아 있다.

한편 R은 뉴질랜드의
오클랜드대학의 이름이 R로 시작하는 두 명의 교수인 Ross Ihaka와 Robert Gentleman에 의해 S-PLUS의 무료 버전 형태로 1993년부터 소개되어 현재는 GNU 프로젝트로 버전 2.13까지 소개되었다. R은 기존의 S-PLUS의 사용자들을 거의 흡수했을 뿐 아니라 오픈 소스임에도 고성능의 컴퓨팅 속도와 데이터 처리 능력, 각종 소프트웨어 및 구글, 아마존 클라우드 서비스와의 API  등 성능의 우수성과 연동, 호환성이 좋아 사용자뿐 아니라 분석 소프트웨어 시장의 최강자로 급격히 부상하고 있다.

이는 오픈소스라는 특징에 의해 커뮤니티 중심의 각종 패키지들이 개발되어 공개되며 사용자 층과 용도가 급격이 확장되었고, 사용자가 증가함에 따라 새롭게 개발되는 패키지가 꾸준히 상승하는 건전한 생태계를 조성하고 있
기 때문이다. R의 패키지들은 요즘 유행하는 앱(app) 처럼 많은 패키지 개발자들이 사용자가 필요한 분석 알고즘이나 고성능 컴퓨팅, 대형 데이터의 처리, API(Application Program Interface) 등에 사용자가 쉽게 필요한 패키지를 설치하여 사용하는 것으로 현재 3,400여개의 패키지가 공개되어 있으며, 그 숫자는 지속적으로 증가하고 있다. 이는 R이 연구 결과와 창의의 열정을 담을 수 있는 프로그램 언어이며 그 결과를 공유하며 협업이 가능한 커뮤니티 기반의 생태계이기에 폭발적 성장이 가능했으며, 같은 맥락에서 조만간 표준 데이터 분석 언어로 자리 잡을 것임에 분명하다.

<왜 R이 기업용 솔루션으로 부상하는가?>

빅 데이터 시대가 도래하며 새로운 분석 패러다임이 요구되는 바, 가볍고 유연하며 확장성이 뛰어난 고성능 통계엔진 R이 미국 중심으로 기업용 분석 플랫폼으로 확산되며 전통적인 기업용 통계분석 패키지인 SAS를 위협하고 있다.

앞에서 소개한 빅 데이터 분석에서 필요한 세가지 기술 측면에서 R의 역할을 살펴보며 분석 패러다임의 변화와 그 변회 속에서 R의 역할을 살펴보자.

1) 빅 데이터 처리를 위한 분산처리 기술

상상을 초월하는 규모와 구조화되어 있지 않은 데이터 분석을 위한 오픈소스 플랫폼인 하둡(Hadoop)은 페이스북, 아마존, 야후, 트위터 등이 사용하며 각광을 받고 있다. 또한 R은 하둡 스트리밍 기술을 활용하여 분산 처리에 기반한 데이터 분석 엔진으로 활용되고 있다. 특히 패키지 RHIPE(R and Hadoop Integrated Processing Environment)가 소개되며 R은 하둡에서 통계분석을 위한 엔진으로 자리 잡게 되었다.

그림1. Hadoop 기반에서의 R 활용

2) Dynamic Visualization 소프트웨어
빅 데이터 시대에는 정보의 양이 워낙 많아 분석결과를 직관적으로 이해할 수 있는 환경이나
적절한 소프트웨어가 요구되고 있다. 그러한 맥락에서 이차원 평면 상에서도 데이터의 다차원 구조를 이해할 수 있는 다이나믹 그래프 혹은 필터링 조건에 의해 데이터를 분석하는 데이터 시각화가 중요시되고 있다. 그 원조는 구글의 Google Visualization Chart API로 R에서 구글과 통신을 위한 몇가지 API 관련 패키지 설치 후 누구나 활용이 가능하다. 그 외에 Spotfire, Qlik View등의 상업용 자료 시각화 프로그램과 R의 연동을 통해 고급분석이 가능하다.


그림2. Google Visualization Chart API 중 Motion chart

3) 통계분석엔진에 의한 분석 자동화
빅 데이터의 실시간 분석을 위해 기존에 생산되는 데이터를 데이터베이스에 기록하여 축적하는 소위 data-in-rest 방식뿐 아니라, 관심있는 정보를 이벤트로 정의하여 데이터베이스 기록 전에 분석이나 의사결정에 활용하는 event-captured 혹은 data-in-motion 형태의 데이터를 분석하는 기술이 부상하고 있다. 아울러 더욱 빠른 분석을 위해 메모리나 데이터베이스에서 직접 분석을 실시하는 in-memory 혹은 in-databse analytics를 통해 고성능 컴퓨팅 (High Performance Computing,
HPC)이 새로운 트렌드로 소개되고 있는데 R 태생 자체가 HPC에 상당히 유리한 아키텍처로 IBM, 테라데이터 등 빅 데이터에서의 고성능 분석을 추구하는 IT 업체들이 속속 R을 분석 플랫폼을 채택하고 있다. 고성능 컴퓨팅 기술과 시스템 상의 데이터 분석 엔진을 장착하여 빅 데이터의 분석 자동화가 이루어지고 있으며, 대표적인 예로는 구글의 Google Prediction API가 있다. 이는 예측모형을 만들고 싶은 분석 데이터를 구글 서비스에 보낸 후 예측 모델을 자동으로 수행해 주는 서비스로 이 역시 R에 필요한 패키지 설치 후 간단히 사용할 수 있다.


그림3. Google Prediction API를 활용한 Ford의 스마트카 서비스 개념도


<빅 데이터 시대를 대비하는 교육의 모습>

빅 데이터 시대의 도래는 단지 데이터 크기의 폭발적 증가만을 이야기하는 것이 아니다. 놀라운 IT 기술과 웹2.0
과 같이 정보를 공유하여 협업하는 사상에 기본하며 데이터 분석이 어낼리틱스(analytics)라는 이름으로 다시 등장한 바, 통계분석 시장의 기회도 새로운 생각으로 접근하지 않으면 안될 것이다.

그간 대학의 통계학 교육은 이중적인 측면이 있었다. 통계학
 이론이나 알고리즘을 가르치기 위해서는 R을 활용하면서도 학생들의 취업을 고려하여 비지니스 솔루션인 SAS를 가르쳐 왔다. 특히 학생들이 IT산업에 대한 관심이 저하되고 금융권 취업 선호도가 높아지며 SAS에 대한 교육 비중이 R에 비해 상당히 높은 것이 사실이다. 그러나 모두 주지하는 바와 같이 애플발 패러다임의 변화는 빅 데이터 시대의 도래, 분석 패다임의 변화와도 연결되며 결국 우리나라가 겪는 소프트웨어 산업 부재와 같은 맥락에서 근본적 경쟁력이 저하된 통계학, 통계시장도 어떤 변화를 겪을지 예측 불가한 위기라 할 수 있다. 본문에서 예를 든 것과 같은 구글의 분석 서비스를 보면 데이터를 보유한 모든 사람들이 쉽게 분석할 수 있는 환경을 제공하고 있다. 이는 통계 패키지와 같은 각종 툴들은 클라우드 서비스 형태로 제공되어 그러한 서비스를 뛰어 넘는 창의적이며 가치를 제공하는 분석이 아니면 생존이 어렵다는 것이다. 즉, 지금까지 학생 취업을 위한 패키지 위주의 교육은 학생들을 사회에서 생존하기에는 무기력하게 만들었다는 것이다.

저자는 급속한 분석 패러다임 변화에서 통계학이 생존하고 통계학도들의 경쟁력을 제고하는 방안으로 R 중심의 교육이 그 대안이라고 생각하는 것이다. R은 변화하는 IT 환경과의 결합이 용이하고 무료이면서도 고성능이라 기업이 분석 환경을 구축하는데 유리하여, 미국
 처럼 우리나라에서도 R 도입 및 R 전문가의 수요가 폭발적으로 늘 것을 예상한다. 그리고 저자는 학생들이 통계학을 열심히 공부하여 그 지식을 현장에 접목할 수 있는 기회를 제공하는 R이 틀에 박힌 프로시져를 사용하여야 하는 상업용 패키지와는 다른 차원의 비전을 지세할 수 있다는 측면에서 R의 선택을 주저 없이 권한다. 미래가 필요한 데이터 사이언티스트 양성을 위한 R 교육, 선택이 아니라 필수라는 생각과 함께 이 글을 마친다.

[참고 자료]

  • 빅 데이터 관련
  • 보고서
  • IBM
  • 테라데이터
  • 데이터 시각화 관련
  • Spotfire
  • Qlik View
  • 구글 사이트
  • Google Visualization Chart API
  • Google Prediction API
  • Google R style Guide
  • 기타 R 일반
  • 공식 사이트
  • 위키피디아
  •  프레지로 제작된 R-ecosystem