2014
마이크로소프트웨어

글: 유재석 기자 yoojs@imaso.co.kr / 2014년 3월호


<FEATURED STORY>

타조, 변방을 넘어 초원을 향해 달리다(2)

최현식 박사, 빅데이터 처리 연구를 시작하다

<편집자 주 : 타조(Tajo)는 SQL-온-하둡 계열의 오픈소스 빅데이터 웨어하우스 솔루션이다. 국내 개발자가 최초 발의해 2013년 3월 아파치 재단의 인큐베이팅 프로젝트로 선정됐다. 지난 11월 버전 0.2가 공개된 타조는 섣불리 성패를 예단할 수 없는 현재진행형 프로젝트지만, 인텔과 링크드인, 호튼웍스의 개발자들이 컨트리뷰터로 참여할 정도로 그 가능성을 인정받고 있다. 마이크로소프트웨어는 2008년, 타조가 알 속에서 꿈틀대던 시절로 거슬러 올라가 타조 프로젝트의 진행 과정을 추적하기로 했다. 빅데이터 기술과 글로벌 오픈소스 생태계에서 아직 변방에 머무르고 있는 국내 환경에 타조 프로젝트의 좌충우돌 경험담이 새로운 변화의 전조가 되기를 기대한다.>


140519_tajo_1


2008년 서울 성북구 고려대학교 캠퍼스. 파일 케이스를 끌어안고 교정을 누비는 학생들의 표정은 평온해 보였다. 학생들 사이에 최현식 박사도 있었다.


최 박사는 고등학생 때 MFC나 델파이 등 당시 유행했던 기술을 중심으로 공부했다. 갓 대학에 입학했을 때 리눅스를 접하고 운영체제에 관심이 생겨 관련 서적을 정독했던 기억도 있다. 그때부터 시스템 개발을 동경하기 시작했다고 한다. 이후 고려대학교 분산시스템 연구실에서 석사 과정으로 공간 데이터베이스를 연구했다. 지금 생각하면 웃긴 기억이지만 그 시절 한 논문을 한 달 내내 본 적도 있었는데, 자신이 관련 주제를 저자보다 더 깊게 생각했을 거라고 확신했던 적도 있단다. 이렇게 특정 주제를 깊게 파면서 공부의 맛을 더 알아갔다.


박사과정에 관한 결정도 오래 걸리지 않았다. 공부의 맛을 알면서 자신이 너무 부족하게 느껴졌기 때문이다. 석사 지도 교수가 정년 퇴임을 하면서 같은 대학원의 데이터베이스 연구실로 옮겼는데, 분산시스템의 기초와 데이터베이스 지식을 함께 갖추게 된 것이 나중에 대용량 데이터 처리 분야를 공부하는 데 도움이 됐다.


이러한 이유로 최 박사는 5년 반이란 긴 시간을 연구에 더 쏟게 된다. 그는 박사과정 초기에 공간 데이터베이스를, 나중에는 그래프 데이터베이스를 함께 공부했다. 그가 박사과정 1년 차였던 2008년, 담당 교수의 후배가 연구실에 방문해 하둡을 소개했다. 그가 처음으로 하둡을 만나게 된 순간이었다.


VLUU L310W L313 M310W / Samsung L310W L313 M310W
고려대학교 전경. 출처 : 고려대학교


호기심에 하둡 관련 자료를 찾아보고 ‘뜨는 분야’라는 것을 느꼈다고 한다. 하둡은 아파치 오픈소스였으며, 상상했던 것보다 커뮤니티도 크게 활성화돼 있었다. 당시 관련 논문들도 막 나오고 있었기 때문에, 이를 연구 주제로 삼기에도 나쁘지 않아 보였다. 하둡은 데이터 저장 및 처리 시스템이기 때문에 어떤 데이터를 어떻게 처리할지에 대한 주제가 있어야 했는데 그는 마침 관심을 두고 있던 그래프 문제를 하둡을 이용해서 풀려고 했다.


2009년, CIKM 학회에서 당시 애리조나 주립대 박사 후 과정을 밟고 있던 이경하 박사를 만난 것은 행운이었다. 최 박사가 자원 기술 프레임워크(RDF)를 맵리듀스(MapReduce)로 처리하는 내용을 설명했던 것이 인연이 돼 두 사람은 같이 맵리듀스와 관련된 데이터 처리 기술 서베이 논문을 쓰게 됐다.


최 박사는 단지 그래프 데이터 처리 프로젝트를 위한 알고리즘의 기반 기술로 하둡을 이용하려고 했으나, 이 시기를 거치면서 아예 하둡과 같이 보다 범용적인 대용량 데이터 처리 시스템을 개발하려는 생각을 하게 된다.


1년이 채 안 돼서 기회가 찾아왔다. 2010년, 연구실 프로젝트로 네트워크 트래픽 분석용 시스템을 만들기 시작했던 것이다. 설계 단계에서는 여러 선택이 있었다. 목표로 하는 데이터 처리는 주로 다차원 데이터에 대한 집계 연산 위주의 애드혹(Ad-hoc) 질의였다. 간단하게는 맵리듀스나 하이브, 피그를 이용해서 만들 수도 있었다. 하지만 해당 분야를 연구하고 있는 입장에서 어떤 단점들이 있는지 훤히 알고 있기 때문에 이러한 선택을 하기는 쉽지 않았다.


초반에만 해도 맵리듀스를 도입해서 시스템을 만들고자 했다. 하지만 맵리듀스는 데이터 처리 중 발생하는 중간 데이터의 비효율적인 처리 및 유연하지 못한 데이터 처리 플로우 등 성능을 제한하는 요소들이 있었다. 당시 이를 개선하는 연구들은 꽤 있었지만 실제 시스템에 반영되거나, 프로토타입이 나온 시스템은 전무했다.


당시 맵리듀스의 대안으로 피그(Pig)나 하이브(Hive)를 사용할 수도 있었다. 피그와 하이브 또한 맵리듀스를 기반으로 하기 때문에 똑같은 문제점을 그대로 갖고 있었다. 이 시스템을 고치려는 고민도 해봤지만 시스템의 근본적인 아키텍처를 수정해야 하는 문제라 간단치 않았다. 이러느니 새로운 시스템을 만드는 게 나을 수도 있겠다는 생각이 들었다.


당시 최 박사에게 많은 영향을 줬던 주요 논문들은 다음과 같다.


* Dryad : Distributed Data-Parallel Programs from Sequential Building Blocks, Michael Isard

* A Comparison of Approaches to Large-Scale Data Analysis, Andrew Pavlo

* MapReduce and parallel DBMSs : friends or foes?, Michael Stonebraker

* C-Store : A Column Oriented DBMS, Michael Stonebraker

* HadoopDB : An Architectural Hybrid of MapReduce and DBMS Technologies for Analytical Workloads, Azza Abouzeid

* Dremel : Interactive Analysis of Web-Scale Datasets, Sergey Melnik 외 다수


최 박사는 같은 연구실에서 한창 연구에 빠져 있던 손지훈 연구원에게 의미심장한 말을 건넨다.


최현식 : 맵리듀스로는 안 될 것 같고, 하이브를 개량해 쓰는 것도 문제가 있어. 아예 새로운 걸 만들어보는 건 어떨까?
손지훈 : 괜찮은데?


결국, 두 사람은 새로운 시스템을 만들기로 했다. 20대 후반, 30대 초반이었던 젊은 두 연구원에게 불가능은 없어 보였다. 초기 기획 때는 많은 부분에서 생각이 달랐기 때문에 옥신각신을 반복했지만, 새로운 시스템을 만들어야 한다는 것에서는 같은 생각이었기 때문에 큰 문제는 없었다.


하지만 프로젝트는 함께 하는 것이기 때문에 두 사람만 결정해서 될 문제는 아니었다. 다른 학생들도 설득해야 했고 더군다나 담당 교수도 설득해야 했다. 최 박사는 “지금 다시 생각해봐도 다른 연구실이었다면 불가능했던 일”이라고 말했다. 담당 교수 역시 처음에는 그리 반기지 않았다. 현실적으로 기반 기술을 쌓아오지도 않은 대학원생 몇 명이 만들어 낸다는 것이 불가능해 보였기 때문이다. 많은 시간과 노력을 들여야 하는 데 반해, 실패 위험도 상당히 컸다. 몇 차례의 토론을 통해 가능 여부와 프로젝트 목적에 적합한지 따져보게 됐다.


결국, 담당 교수도 허락했다. 최 박사는 “과제 목표를 중심으로 최대한 실현 가능성을 강조했기에 허락을 받을 수 있었다”고 당시를 회상했다. 공상하기 좋아하는 두 사람은 아키텍처를 생각하는 과정부터 장기적인 계획까지 세워놨다. 최초에는 SQL 유사한 질의를 지원하며 단일 쿼리 블럭만 지원하고 조인도 없는 그런 단순한 시스템이었다.


딴에는 아키텍처링이나 프로그래밍에 자신이 있어 시작은 패기 넘치게 시작했다. 그러나 곳곳에 어려움이 도사리고 있었다.


캠퍼스에는 젊음과 낭만이 가득했지만, 그날 이후 두 연구원의 시선은 컴퓨터 모니터에만 시종일관 고정돼 있어야 했다. 막상 개발에 들어가 보니 제대로 된 것이 없었다. 논문에서 나온 코드 배열들이 실제로는 오류투성이였기 때문에 하나하나 뜯어고치는 작업이 매일 밤낮으로 계속됐다. 그렇게 시간은 잘도 흘러갔다.


그러던 어느 날, 머리도 식힐 겸 교정을 거닐던 최 박사는 담당 교수의 호출을 받고 급히 연구실로 돌아간다.



/필/자/소/개/

유재석 기자

무미건조해 보이는 숫자들 속에서 '가치'를 발굴합니다.
소셜커머스, 오픈마켓 등 데이터로 가치를 만드는 곳이라면 어디든 찾아갑니다.
yoojs@imaso.co.kr www.facebook.com/YuJaeSuk medium.com/@yoojs8512



※ 본 내용은 (주)마소인터렉티브(http://www.imaso.co.kr/)의 저작권 동의에 의해 공유되고 있습니다.
    Copyright ⓒ Maso Interactive Corp. 무단전재 및 재배포 금지

    [원문출처 : http://news.imaso.co.kr/23181]

맨 위로
맨 위로