Share           Pin It

(새벽에 문득 잠에서 깨어 이 글을 적는다.)

최근 데이터 또는 데이터 기반 접근법에 대한 관심이 뜨겁다. 어쩌면 내가 밥벌어먹고 살려고 또 내 몸값을 올리려고 이런 표현을 사용/전파하고 있는지도 모르겠다. 관련 뉴스를 보면서 과연 데이터 기반의 실행조직이라는 것이 실체가 있는 것인지? 아니면 그들도 자기들을 세일즈하기 위해서 억지로 기사를 쏟아내고 있는 것은 아닌지? 또는 구글이나 몇몇 잘 나가는 기업들이 데이터를 가지고 돈을 잘 벌고 있으니 그걸 부각시키고 과대포장하고 있는 것은 아닌지? 등에 대한 의문이 들기는 한다. 그런 의심은 일단 뒤로 하고, 데이터가 공기처럼 편재하고 있다는 것은 사실이다.

많은 기업들이 스스로 좀 더 가치있는 데이터를 생산해내거나 고객들로부터 그런 데이터를 수집하려고 노력중이다. 그러나 확실한 비전이나 전략을 가지고 실행하고 있는 것같지는 않다. 데이터는 21세기의 새로운 금맥, 보이지 않는 오일이다라는 식의 현혹된 멘트에 혹해서 우리도 지금 하지 않으면 뒤처져버리는 것이 아닐까?라는 두려움으로 새로운 골드러쉬, 아니 데이터러쉬에 합류하고 있다는 느낌이 강하다. 우리는 데이터에서 의미를 찾아내고 가치를 만들어가는 데이터 기반의 실행조직으로 다시 태어나겠노라고 선언하며 먼저 깃발을 꽂기 위해서 전진하지만 여전히 고지는 묘연하다. 과연 고지가 있기는 있는 것일까?

스스로 데이터 기반의 조직으로 변모하겠다고 내세우는 기업들의 공통된 실수 또는 인식은 ‘다양한 데이터를 많이 수집해서 데이터 사일로를 만들어놓으면 그 후에는 알아서 될 것이다 (데이터가 데이터를 만들고 궁극에는 돈이 될 것이다)’ ‘데이터 분석 인프라를 구축해서 적당한 데이터분석가들을 채용해서 자리에 앉히면 될 것이다’ 등이 아닐까?라는 생각을 해본다. 특별한 비전이나 실행 계획도 없으면서 그저 전문가들을 한 자리에 모아놓으면 그들이 알아서 뭔가를 만들어내겠지라는 안일한 생각으로 무턱대로 도전하는 것같다.

현실은 그렇게 녹록치가 않다. 단지 몇 명의 뛰어난 데이터 분석가들이 모여있다고 해서 데이터 기반의 실행조직이 만들어지지 않는다. 단지 조직 내에 전담 부서/팀이 구성되었다고 해서 만들어지는 것도 아니다. 분석가들은 언제나 실권이 없는 보조 수단에 불과했다. 변화의 동인이나 목표가 있어도 변화의 힘은 없다. 물론 그들에게 막강한 힘을 더한다고 해서 조직이 데이터 기반으로 재탄생할 수 있다는 얘기를 하는 것은 아니다. 그저 하소연일 뿐이다.

데이터 기반의 실행조직에서 가장 중요한 사람은 데이터 분석가가 아니다. 데이터에 접근할 수 있고 가공할 수 있고 해석할 수 있는 소수에 의해서 실행조직이 만들어지지 않기 때문이다. 조직 내의 모든 구성원들이 — 업무, 관점, 역량의 크기 등과 무관하게 — 데이터를 읽을 수 있고 믿고 움직일 때 가능하다. 경영자들의 의지와 지원이나 분석가들의 우수성 뿐만이 아닌, 전체의 공감대와 실행 문화가 형성되어있지 않다면 아무리 데이터를 통해서 많은 돈을 벌고 전략을 실행한다고 하더라도 그 조직을 데이터 기반이라고 부르기 어렵다.

Data is everywhere and utility. 데이터는 모두의 것이다. 특정 소수만의 특권이 아니다. 모두가 자유롭게 데이터에 접근할 수 있어야 하고, 그것을 분석하고 해석하는 능력을 가져야 한다. 먼저 빨대를 꽂으면 된다.

데이터마이닝에 대한 잘못된 오해가 있다. 마이닝이라는 말에서 오는 오해인지도 모르겠다. 땅 속에서 금맥을 찾아내고 진흙 속에서 진주를 찾아내는 것이 마이닝이 아니다. 금과 진주만 가치가 있고, 흙은 무가치한 것이다라는 인식이 바뀌어야 한다. 데이터는 진흙과 진주가 썩여있는 것이 아니다. 모든 데이터는 그저 흙이며 또 진주다. 마이닝은 단지 그 진주를 닦아서 광을 낼 뿐이며, 흙을 뭉쳐서 벽돌을 만들 뿐이다. 의미를 더하고 가치를 부여할 때만이 의미있는 데이터가 되고 데이터가 스스로 가치를 준다. 흔히 시그널과 노이즈를 말한다. 시그널은 취하는 것이고 노이즈는 버리는 것이다라는 의미다. 그러나 노이즈이도 다른 형태/의미의 시그널일 뿐이다. 물론 시그널 데이터와 노이즈 데이터를 가공하는 공임이나 최종 가격이 같다는 의미는 아니다.

Data-mining is data-meaning. 이름을 불러 줄 때 비로소 꽃이 된다.

소위 데이터 전문가라는 이들도 학점에 맞춰서 대학과 학과를 선택해야 했던 이들이다. 지금은 데이터 사이언스가 유행을 타니 데이터마이너/사이언티스트가 되겠다고 난리 — 까지는 아니지만 — 를 부리지만 지금 데이터마이닝을 하는 이들 중에 과연 몇이나 어릴 적 꿈이 데이터마이너였을까? 상황에 따라서 배우고 학습한 결과가 현재의 모습일 뿐이다. 그들은 절대 특별한 존재가 아니다. 단지 조금 먼저 시작했다는 차이는 있다. 간혹 뛰어난 두뇌의 소지자들도 있지만, 대부분은 아니다. 데이터 기반의 조직은 결국 데이터 기반의 사고에서 시작한다. 그렇다면 그들에게 데이터 기반의 사고를 전파해야 한다.

Nobody is born to be a data-miner. 누구에게나 기회의 문은 열려있다. 절대 닫히지 않는다. 차이는 들어가느냐 마느냐에 있다.

치기로 시작했지만 관련된 글들을 적고 있고 오프라인 강의도 하기로 했다. 모두가 데이터에 자유로워졌으면 좋겠다. 그럴 때 비로소 데이터 기반의 실행조직이 틀을 갖춰가리라 믿는다. 지금 치어를 손에서 놓지 않으면 대어도 없다.

어쩌면 지금 나의 전문성을 Data Analytics에서 Data Inspiration으로 바꿔야할 타이밍인 듯하다. 만약 Data Miner가 아닌 Data Evangelist로 살아간다면 밥은 먹을 수 있을까?

주사위는 던졌고 번호는 나왔다.

==

페이스북 페이지: https://www.facebook.com/unexperienced

댓글을 달아 주세요

Share           Pin It

며칠 전에 VectureBeat에 Guy Harrison이 적은 Why Hadoop projects fail -- and how to make yours a success라는 기사를 간단하게 정리했습니다. 전체를 번역하는 데는 무리가 있어, 큰 흐름에서 의역 및 생각을 추가했습니다. 자세한 내용은 원문을 참조하시기 바랍니다.

---

클라우드 컴퓨팅이 각광을 받으면서 빅데이터, 특히 하둡은 기업IT의 메인스트림으로 들어왔지만, 무분별한 실행은 애초의 기대/약속을 충족시키지 못하고 값비싼 실패, 소위 하둡행오버 Hadoop Hangover를 경험할 가능성이 높다.

빅데이터는 구글이나 아마존의 성공을 가능케했다. 단순히 차트나 레포트를 통한 실행결정을 하는 것이 아니라, 사용자 경험을 증진시키는 비즈니스 프로세스에 직접적으로 연결된 데이터 기반의 알고리즘이다. 현재 많은 기업들이 단순히 다양한 출처의 원본 데이터를 수집, 저장하는 단계에 머무르고 있다. 데이터를 수집하고 그것의 의미를 파악하는 것만으로는 충분치 않다. 그렇기에 빅데이터 분석이 필요한데, 많은 데이터가 모일수록 덜 복잡한 알고리즘이 필요하다. (개인적으로 더 정확한 알고리즘보다 더 간단하면서 빠르면서 적응적인 알고리즘이 빅데이터 시대에 더 적합하다고 생각함) 그리고 머신러닝과 결합하여 더 많은 데이터는 더 정확한 예측 및 실행모델을 만들지만, 여전히 가장 좋은 답을 얻기 위해서는 인간의 경험과 지능이 필요하다. 데이터 수집은 빅데이터의 단지 시작일 뿐이고, 옳은 질문에 바른 대답을 제시하는 스마트 알고리즘이 필요하다.

구글이나 아마존이 성공한 이유는 많은 데이터를 수집했기 때문만이 아니라, 우수한 인재들이 모여있기 때문이다. 그들은 프로그래밍 스킬이 띄어날 뿐만 아니라, 복잡한 통계 분석 능력, 비즈니스 인사이트, 인지과학 및 창의적 문제해결 능력을 갖춘 인재들, 즉 데이터 과학자들이다. 불행히도 그런 다양한 기술 (통계, 알고리즘, 분산컴퓨팅 등)을 갖춘 인재는 늘 부족하고, 학교에서는 학위 이수정도의 커리큐럼만 가지고 있을 뿐이다. 데이터 과학자들이 늘어나겠지만, 그들은 적어도 경쟁적 비즈니스 전략, 머신러닝 알고리즘, 그리고 대용량 분산/패러렐 데이터 프로그래밍이라는 3가지 분야에 두루 전문성을 가지고 있어야지만이, 기업이 빅데이터 기반으로 미래를 예측하는데 일조할 수 있다. (즉, 기업에서 필요한 인재는 데이터 과학자이고, 그들은 전략, 알고리즘, 프로그래밍(의 조합)에 전문성을 가져야 한다.)

그리고 데이터 과학자들이 활용할 충분한 빅데이터툴도 여전히 부족하다. 맵리듀스 프로그래밍만으로는 빅데이터를 제대로 활용하는 실용적인 방법이 아니다. 빅데이터에서 빅밸류/빅인사이트를 얻기 위해서는 데이터 과학자들이 다양한 통계가설을 테스트하고, 예측모델을 만들고, 결과를 리포팅하고 비쥬얼라이즈해줄 수 있는 도구들이 필요하다. Mahout, Weka, R 등의 오픈소스들이 존재하지만, 여전히 사용하기 쉽지 않고 때로는 기업이 가진 빅데이터를 충분히 수용할만큼 스케일러블하지도 않다. 그래서 기업에서 빅데이터를 제대로 활용하기 위해서는 하둡 및 하둡에코 이상의 빅데이터 분석플랫폼 및 툴킷이 필요하다.

하둡이 많은 데이터를 경제적으로 저장, 처리할 수 있을 뿐만 아니라, 다양한 형태의 데이터를 수용할 수 있기 때문에 성공했다. 그런데 그런 다양한 포맷의 데이터가 제대로 활용되기 위해서는 포맷변경이 필요하다. 하둡은 schema on read를 허용해서 다양한 원본 데이터를 처리할 수 있지만, 여전히 적절한 데이터 스키마를 작성해야 한다. 그러나 자동으로 수집되는 데이터들은 구조가 자주 바뀌고 나중에는 구조를 제대로 파악하기가 힘들어진다는 위험도 내재한다. 그리고 데이터 생성시에 발생한 오류가 너무 늦게 발견되기도 한다. 그래서 데이터 디자인 및 수집 단계에서부터 데이터의 품질과 구조에 많은 주의를 기울일 필요가 있다.

하둡이 복잡한 분석능력을 제공해주지만 여전히 내재된 문제점들이 존재한다. 하둡의 보안성이 여전히 취약하고, 데이터 백업이 어렵고, 기업 내의 기존 모니터링 시스템과의 통합이 부족하고, 리소스 관리가 초보적이고, 실시간 쿼리가 불가능하다. 이런 점들을 고려해서 하둡 프로젝트를 진행해야 한다.

빅데이터는 많은 기업들에게 분명 복잡하지만 잠재력을 가진 파괴적 도전이다. 이제 가격경쟁력이나 애향심만으로는 부족하다. 개인화, 타게팅, 예측추천모델 등의 경쟁적인 차별화가 필요하다. 데이터 기반의 결정 및 실행 능력을 획득하는 것이 생존에 필수적이다.

---

읽으면서 스마트한 빅데이터 분석을 위해서는 결국 기술 지식, 도메인/비즈니스 로직, 그리고 사람에 대한 이해가 필요하다는 것을 느꼈습니다.

페이스북 페이지: https://www.facebook.com/unexperienced

댓글을 달아 주세요

제 3의 길

TSP 2013.04.19 09:27 |
Share           Pin It

2004년도에 미국에 잠시 체류할 때 출석하던 교회 게시판에 올라온 이야기가 있다. 실화인지 아니면 꾸며진 상황인지, 그리고 정확한 워딩은 기억나지 않지만 이런 글이 올라왔다는 것만은 정확히 기억한다. (어쩌면 2005년도에 한국에 돌아온 후에 읽었던 글인지도 모르겠다.) 어떤 사람이 일을 의뢰받았다고 한다. 예를들어, 듀데이트가 10일이고 수고비로 100만원정도 받는 일이다. 그런데 좀 열심히 하면 일주일만에 끝낼 수 있는 일이라고 한다. 바로 이 지점에서 고민이 시작된다. 만약 일주일만에 일을 끝내고 결과물을 전달해주면 일을 의뢰한 사람이 그 일이 10일이나 걸릴만큼 어려운 일도 아니었고 계약맺었던 100만원의 수고비가 과하다고 생각할 수도 있고, 또 다음에 일을 의뢰할 때는 더 나쁜 조건으로 계약을 맺을 것같다는 생각이 들었다는 것이다. 그래서 대안으로 일주일만에 일을 끝마친 후에 3일정도는 그냥 놀다가 예정된 날짜에 결과물을 전달해주는 것이 나을까?를 고민하고 있었다고 한다. 이때 친하게 지내던 어느 목사님께서 일주일만에 모든 일을 끝마치고 나머지 3일만큼 일을 더해서 예정된 결과물에 플러스알파를 더해서 전달해주면 어떻겠느냐는 조언을 해주셨다고 한다. 그 당시에 이 제 3의 옵션을 듣는 순간 조금 화가 났다. 왜 이 세번째 방법이 제1, 아니 제0의 방법이 아니라, 여러 대안들이 마음이 들지 않을 때 겨우 선택하는 방법이어야 하는 상황/일반인식이 아쉬웠다.

다음에서 데이터분석유닛/데이터마이닝팀에서 근무하다보니 회사의 다양한 데이터를 다룬다. 정책상 전사의 모든 데이터에 쉽게 접근할 수는 없지만, 적어도 검색과 관련된 데이터는 그나마 쉽게 접근이 가능하다. 특히 최근 검색 관련 로그에 쉽게 접근할 수 있는 몇 팀 중에 하나다. 그러다보니 검색로그를 활용해서 신규 서비스를 기획하거나 신규/개편 오픈한 서비스의 지표를 확인하기 위해서 다양한 분석요청이 들어오고 이를 지원해준다. 분석요청 지원이 팀의 메인 롤은 아니지만, 때로는 까다롭고 많은 시간을 요하는 경우가 많다. 분석기간이 길어서 데이터가 많거나 조금 까다로운 분석/가공이 필요하거나 또는 요청 자체가 모호한 경우는 마음 속 깊이에서부터 화가 치밀어 오른다. 그런 경우에는 신경을 써서 더 잘 해줄 수도 있지만, 가장 기본적인 데이터만 뽑아서 추가/복잡한 가공을 하지 않고 그냥 전달해주는 경우가 종종 있다.

10년 전에 제 3의 대안을 제 3의 옵션으로 생각하는 것이 안타깝다고 글을 적었던 사람이 이제는 귀찮다는 이유로 그냥 아무렇게나 일을 처리해주는 속물로 변해버린 것같다. 어제도 새로운 분석요청을 받았는데 (복잡하거나 어려운 것은 아님), 처음에는 결과물 필터링 등을 그냥 요청자에게 맡기고 기본적인 데이터만 뽑아줄 요량이었는데, 밤에 침대에 누워서 곰곰히 생각해보니 내가 조금만 더 수고를 하면 분석을 요청한 기획자는 엄청 편할 수 있겠다는 생각이 들었다. 그래서 페이스북에 아래의 글을 남겼다.

조금 귀찮은 일이지만 내가 조금만 더 수고하면 상대는 엄청 편해진다. 그런데 상대는 내가 그런 귀찮은 수고를 한 것을 알까? 상대가 이를 알아주기를 바라는 것이 어리석인 생각일까?

조금 귀찮은 일이라고 말했지만, 단순히 분석프로그램에 코드 몇 줄을 추가하는 것은 아니다. 분석요청이나 필요한 데이터가 정형화된 것이 아니기 때문에, 상대가 편하게 볼 수 있는 형태의 자료를 만들기 위해서 많은 자료를 일일이 찾아서 수작업으로 데이터를 재가공해서 분석프로그램에 피딩해야 하는 일이다. 몇 십 분의 수작업이 끝나면 해결될 문제지만, 이게 생각보다 귀찮은 일이다. 그런데 이 작업을 기획자에게 맡겨버리면 그/그녀는 몇 시간을 소요해야지 겨우 원하던 결과를 얻을 수 있는 일이다. 그래서 내가 조금 더 수고하기로 했고, 게시판에 올라왔던 글이 문득 생각이 났다.

그런데 이런 수고를 묵묵히 하면서 또 이것을 누군가가 알아줬으면 하는 바람이 생겨난다. 인간이기에 어쩔 수 없다고 항변할 수도 있겠지만, 그 순간 스스로 조금 부끄러워졌다. 나의 메인 업무가 아닌 일에 플러스알파를 더하는 일이기 때문에 생생을 내더라도 별로 문제될 것은 없다. 그렇다고 해서 이걸 자랑삼아 밝히는 것도 좀 그렇다. 그렇지만 내가 이정도의 수고까지 감내해줬기 때문에 이런 결과가 나왔다라는 점을 또 밝히지 않으면 상대는 영원히 내가 어떤 수고/과정을 거쳤는지 모르고, 그냥 지라 게시판에 분석요청만 올리면 이런 결과를 얻을 수 있다 정도의 인식만 가질 것이 뻔하다. 그래서 조금 슬픈 상황이다. ... 앞으로도 많은 일들을 만나면서 화가 나는 상황이 발생하겠지만, 그래도 나는 내가 선택할 수 있는 제 0의 옵션 -- 사람들이 말하는 제 3의 길 --을 선택하려 노력할 것이다. 그런데 그 선택을 당연한 것으로 받아들여지는 인식이 생길 것같은 서운한 생각이 든다. 나도 인간이다.

(오랜만에 바로 글을 적어서 바로 공개를 합니다.)

페이스북 페이지: https://www.facebook.com/unexperienced

댓글을 달아 주세요

Share           Pin It

주의. 구체적인 그림이나 내용을 적으려는 것이 아닙니다. 그냥 순간적으로 떠오른 생각들만 두서없이 나열합니다. 심도있는 글을 원하신다면 그만 읽으세요.

다양한 출처에서 다양한 사람들이 다양한 이야기/글을 적기 때문에 중요한 글도 놓쳐버리는 경우가 잦습니다. 대선 이후에는 정서가 불안해서 IT/트렌드 관련 글들을 제대로 챙겨보지도 못했는데, 우연히 '데이터 시각화'를 검색해보다가 2012년 12월 11일에 IT월드에 올라온 '빅 데이터 시각화를 통해 직원 통찰력을 증대시켜라... 이베이의 과제'라는 글을 읽게 되었습니다. 이 글을 읽는 순간, 현재까지 제 업무 또는 일해왔던 방식에 회의감이 들었습니다. 지금껏 너무 단순하게 분석 업무요청에 수동적으로 대처했던 것은 아닌가?라는 생각이 들었습니다. 현재 바쁘고 힘들더라도 단편적인 데이터 분석보다는 더 포괄적으로 접근해서 분석 플랫폼에 대한 고민을 해야하지 않을까?라는 결론에 이르렀습니다. 

데이터 분석 플랫폼이란 어떤 것일까? 기존의 분석 업무 또는 데이터 마이닝과는 많이 다를까? 결론은 개념적으로는 별로 다르지 않을 것다는 것입니다. 어쩌면 제가 지금 적을 모호한 그림/설명도 기존의 분석 프로세스와 별반 차이가 없을것입니다. 그러나 이것을 시작으로 데이터 분석 플랫폼에 대한 고민에 들어가려 합니다. 분석 및 결과 리포팅과 직접적으로 무관한 하드웨어/소프트웨어 인프라에 대한 내용은 생략합니다. * 참고. 제가 고민하는 분석플랫폼의 모양이 기존의 분석/마이닝 프로세스/시스템과 별반 차이가 없기 때문에 글을 다 적은 이후에 아래 그림은 IBM Data Platform 홈페이지에서 예시로 가져와서 추가했습니다.

IBM Big Data Analytics

Data Gathering & Parsing (Pre-Processing).
데이터 분석의 시작은 도메인/서비스 이해 및 데이터 수집부터입니다. 외부의 요청에 의한 분석인 경우 보통 정형/비정형 데이터가 주어지기 때문에 데이터수집을 플랫폼의 한 기능으로 넣어야하나?라는 생각도 듭니다. 그러나 상시적으로 모니터링이 필요한 경우도 있고, 주어진 데이터만으로는 부족한 경우가 많습니다. 특히 빅데이터 분석에서는 어떤 데이터가 어떻게 활용될지 전혀 감이 없습니다. 그렇기에 데이터 수집부터 고민해봐야 합니다. 빅데이터의 중요한 특징으로 다양성 variety가 있습니다. 분석 플랫폼에서도 그런 다양한 데이터를 어떻게 수집하고 저장해둘 것인가?도 성공의 관건입니다. 그리고 다양한 출처에서 피딩받은 비정형 데이터들을 파싱/변환하여 정형화된 형태로 저장해둬야 합니다. 산업/도메인/서비스별로 플러그인 형태의 프리프로세싱 모듈들도 미리 갖춰둘 필요가 있습니다. 현실에서는 필요에 의해서 매번 새로 구현해야겠지만. 실제 하둡을 이용한 빅데이터 처리에서 가장 먼저 하는 작업도 MapReduce로 처리할 수 있도록 key-value 페어로 만들어주는 것입니다.

Data Analysis.
데이터가 준비되었다면 이제 분석작업입니다. 데이터 사이즈나 다양성이 빈약한 경우에는 어떤 분석/머신러닝 알고리즘을 사용하느냐 또는 다양한 파라메터를 어떻게 조정하느냐에 따라서 분석결과가 좌우됩니다. 그런데 집단지성을 활용할만큼 크고 다양한 빅데이터에서는 단순 카운팅 이상의 퍼포먼스를 내는 것도 없습니다. 물론 Apache Mahout과 하둡기반의 머신러닝 플랫폼도 소개되었고, 기존의 다양한 마이닝 알고리즘들이 빅데이터에 최적화된 형태로 배포되고 있습니다. 그래도 여전히 단순 카운팅이 많은 빅데이터 분석에서 기본인 듯합니다. 실시간 서비스와 연계된 경우에는 분석의 정확도보다는 분석의 속도가 더 중요한 경우가 많습니다. 그런 측면에서 단순 카운팅이 가장 좋은 방법이라는 의미입니다. (이건 그냥 현실적 조언이고) 경우에 따라서 카운팅으로 해결할 수 없는 더 정확한 분석도 필요하고 도메인/서비스에 특화된 알고리즘이 적용되어야 합니다. (이미 많은 알고리즘들이 하둡/빅데이터-인에이블드 또는 소스코드가 배포된 상태입니다.) 너무 지당하기 때문에, 우선은 단순 카운팅 및 변형으로 최대한 해결할 수 있는 것과 없는 것을 면밀히 조사 후에, 추가 분석과정을 거치는 것이 현실적인 방안입니다. 그리고 오픈소스 분석도구인 R은 하둡과 잘 연동되기 때문에 R에서 분석할 수 있는 내용이라면 빅데이터 플랫폼에서도 바로 분석이 가능하다는 것입니다. 분석 플랫폼에서 알고리즘에 대한 실질적인 고민은 별로 크지 않다고 생각합니다. 필요하면, 온라인 분석과 오프라인 분석의 분리/결합, 또는 부분/로컬 데이터만을 활용한 최적화 방법 등 다양한 대안이 가능합니다.

Data/Result Interpretation.
제가 (빅) 데이터 분석 플랫폼에 대한 연구로 업무 방향을 정해야겠다고 생각했던 이유는 단순히 데이터를 피딩/파싱하는 것이나 적당한 분석 알고리즘 및 파라메터를 선택해서 적용하는 것 때문이 아닙니다. 그것보다는 그런 데이터 및 알고리즘을 통해서 나온 결과를 어떻게 해석할 것인가?의 문제 또는 이를 정형화할 수 있는 방법에 대한 고민 때문입니다. 단순히 통계적 유의수준을 측정하는 것이 아니라, 이를 쉽게 서비스와 연계하여 사용자들에게 가치를 제공해줘야 합니다. 이미 많은 데이터 분석 패키지나 도구들이 존재하고, 그것들에 맞는 형태로 데이터를 넣고 실행시키기만 하면 웬만한 분석은 가능합니다. 그러나 그걸 통해서 나온 데이터가 어떤 의미를 가지고 있는가?를 해석하는 방법은 순전히 분석가나 (현장) 실무자의 경험이나 감에 의존할 수 밖에 없습니다. 그래도 조금이라도 더 정형화해서 결과를 보여준다면 더 쉽게 결과를 해석하고 의미를 찾아낼 수 있지 않을까?라는 생각을 합니다. 그런 작업을 지원해주는 측면에서 분석 플랫폼이 필요하다는 생각을 했습니다.

Data Visualization & Reporting.
데이터를 그나마 쉽게 해석할 수 있는 방법은 데이터를 시각화하는 것입니다. 단순 숫자의 나열보다는 차트형태로 보여주는 것이 분석가나 실무자들에게 더 많은 인사이트를 줄 수가 있습니다. 보는 것이 믿는 것이다라는 격언이 괜히 생긴 것이 아닙니다. 측정할 수 없으면 혁신할 수 없다는 말과 같이 볼 수 없으면 상상할 수도 없습니다. 서비스나 데이터의 특성에 맞는 다양한 형태의 도표나 이미지를 잘 활용하여 데이터를 시각화하고, 또 이를 결과 리포트에 첨부해서 제공해야 합니다. 바쁘게 현업 분석을 자주 하다보니 결과 리포팅 및 리뷰가 무시되는 경우가 잦습니다. 당시에는 빠르게 분석 요청에 대응해주고 서비스화시켜서 좋은데, 시간이 흐른 후에는 축적된 지식은 하나도 없습니다. 관계자들에게 결과를 공유하기 위한 것뿐만 아니라, 지식의 축적이라는 의미에서 이런 시각화 및 리포팅에 더 많은 노력/체계화가 필요합니다. (데이터 시각화 도구들)

Service & Consulting.
결과 해석 못지 않게 분석 플랫폼의 필요성을 느낀 이유는 분석을 통해서 얻은 지식/인사이트를 서비스에 쉽게 적용할 수 있어야 한다는 점입니다. '빅데이터와 서비스 디자인'이라는 글에서 필자가 밝혔듯이, 데이터 분석의 목적은 내적 자기 만족이 아니라 외적 서비스화에 있습니다. 서비스가 특정되지 않더라도 서비스화는 항상 염두에 두고 분석을 진행해야 합니다. 데이터 시각화와 리포팅을 통해서 서비스 관계자들을 설득하였다면, 여기에서 나온 결과 데이터들이 실제 서비스로 흘러들어가서 사용자들에게 가치를 제공해줘야 합니다. 현재처럼 데이터를 수집/가공하는 곳이 따로 있고, 이를 분석하는 곳이 따로 있는 상황 하에서, 결과 데이터를 서비스에 적용하는 과정이 너무 복잡합니다. 다양한 현실적인 이유로 (스토리지나 서버의 성능이나 보안문제 등) 물리적 시스템 구조상으로는 이들의 기능들이 분산되어있어야겠지만, 데이터의 수집, 분석, 활용이 개념적으로는 매끄럽게 이어져야 합니다. 그런 의미에서 분석 플랫폼의 필요성을 생각했습니다. 모든 데이터가 서비스를 전제로 수집, 분석되는 것은 아닙니다. 그런 경우에도 분석결과를 가지고 다양한 (서비스) 컨설팅에 쉽게 활용되어야 합니다.

예시
간혹 구글트렌드 데이터를 이용해서 뉴스/기사를 작성한 것을 볼 수가 있습니다. (예, 자살률·자살 검색량, 비슷한 추이 보여..동반 증가) 구글에서는 별도로 ZeitGeist라는 사이트를 통해서 구글검색빈도 등을 이용해서 한해를 마무리/요약해서 보여주기도 합니다. (예, 2012년 zeitgeist 동영상구글애널리틱스는 개별 사이트별로 트래픽 추이 등을 분석해서 보여줍니다. 별로 복잡한 과정을 거치지 않고서도 빅데이터 인프라를 이용해서 일상 생활에서 유용하게 쓸 수 있는 다양한 데이터/서비스를 제공해주고 있습니다. 국내에서도 다양한 통계데이터는 제공해주고 있지만, 일상화된 서비스는 여전히 부족합니다. 다음에서는 다음트렌드트렌드차트 등을 제공해주고 있지만, 사용성은 여전히 부족하고 하드코딩되어있어서 다른 영역에서 해당 서비스/데이터를 이용해서 프로토타이핑을 해볼 수 있는 여건도 아닙니다. 그 외에, 국내에 다양한 SNS를 전문적으로 분석활용하는 회사들이 존재하지만 아직 범용의 분석플랫폼으로 기능하는 것은 거의 없습니다. 데이터 수집 및 분석 플랫폼 자체가 서비스와 별개로 존재하면 안 됩니다.

지극히 일반적인 내용을 가지고 분석 플랫폼이라는 거창한 제목으로 글을 적었습니다. 그런데 지난 몇년간 빅데이터의 중요성을 강조하는 단편적인 글 또는 기술적으로 빅데이터를 처리하는 하드웨어나 소프트웨어에 대한 글들은 많았지만, 실생활에서 우리가 체감할 수 있도록, 구체적으로 어떻게 활용되고 있는지 또는 빅데이터를 활용하려면 우리가 어떻게 접근해야 하는지 등에 대한 현실적인 고민을 해결해주는 글/비전은 별로 보지 못했습니다. 그리고 회사에 들어온 이후로 다양한 분석작업을 진행했지만 아무런 체계가 없이 중구난방식으로 분석결과를 제공하는 것에만 바빴는데, 나름 학교도 오래 다녔고 이제 현업에서의 경험도 쌓였기 때문에 그런 분석 업무 및 분석후의 과정을 더 체계화 및 시스템화를 시키는 것에 대한 필요성/중요성/다급성을 IT월드에 올라온 글을 읽으면서 절감했습니다. 그리고 더 현실적으로는 이런 분석 플랫폼을 잘 만들어놓으면 지금 다니는 회사가 어려워지더라도 이를 이용해서 (분석 및 컨설팅) 회사 하나 정도는 차릴 수 있지 않을까?라는 그런 기대감도 있습니다. 아직 구체적인 플랫폼 설계를 시작한 것은 아니지만, 인프라와 분석 알고리즘, 시각화 등에서는 이미 많은 오픈소스들이 존재하기 때문에 이들을 잘 수집/정리해서 커스터마이징하는 것이 가장 현실적인 출발점입니다. 그리고 그런 노력의 결과/경험은 또 외부에 공개해서 저변확대에 기여해야 합니다.

** 처음 글을 적어야겠다고 마음을 먹은 시점, 전체 내용을 구성하고 적은 시점, 세부 내용을 수정/보완한 시점, 그리고 공개한 시점이 조금씩 다릅니다. 글의 오리지널리티를 주장하려는 것이 아니라, 주변의 글들을 통해서 생각이 점점 확장/정리되었다는 점을 알려드리려는 겁니다.

댓글을 달아 주세요

Share           Pin It

최근에 빅데이터가 주목을 받고 있습니다. 보통 빅데이터는 하드웨어 인프라 영역, 소프트웨어 인프라 영역, 빅데이터 분석 영역, 빅데이터 서비스화 영역으로 나뉠 수 있습니다. 인프라 영역은 저의 관심 및 전문 분야가 아닙니다. 지금 당장은 갖춰진 인프라를 이용해서 몇 가지 단순한 분석업무를 더 빠르고 안정적으로 할 것인가?에만 중점을 두고 있지만, 더 장기적인 관점에서는 그런 분석결과를 서비스에 어떻게 이용할 것인가?가 더 관심이 갑니다. 빅데이터를 서비스에 접목하기에 앞서서 필요한 작업이 분석된 결과를 가지고 관련된 기획자나 개발자들을 설득하는 과정이 필요합니다. 그렇기 위해서 다양한 결과 리포팅 기술이 크리티컬합니다. 다양한 수치와 글로써 된 기획서나 뜬 구름잡는 듯한 개념도를 가지고 관련된 사람들을 설득하기는 매우 어렵습니다. 그렇기 때문에 분석된 결과를 요약해서 다양한/적절한 차트나 이미지 등으로 시각화해서 보여주면 설득에 효과가 있습니다. 현재까지는 분석결과를 RDB에 올려놓고 테이블형태로 웹에서 조회해서 보여주기만 했었는데, 이 방법도 분석/개발자의 입장에서는 깔끔하지만 더 나은 커뮤니케이션 수단은 아니었습니다. 빅데이터가 주목을 받고 있는 요즘, 그래서 데이터 시각화 Visualization 에 대한 관심이 많이 가게 됩니다. 경영학에는 "측정할 수 없으면 혁신할 수 없다"라는 오랜 격언이 있습니다. 그렇듯이 데이터 분석 및 이용에서도 '볼 수 없으면 생각할 수 없다'도 적용됩니다. 그래서 (빅) 데이터 분석이 각광을 받을수록 데이터 시각화 기술/도구의 활용이 더욱더 주목을 받을 것입니다. 그래서 데이터 시각화로 검색을 해보다가 오픈소스 데이터 시각화 도구를 잘 정리해놓은 사이트가 있어서 소개해드립니다.

http://selection.datavisualization.ch

사이트 소개글.

Datavisualization.ch Selected Tools is a collection of tools that we, the people behind Datavisualization.ch, work with on a daily basis and recommend warmly. This is not a list of everything out there, but instead a thoughtfully curated selection of our favourite tools that will make your life easier creating meaningful and beautiful data visualizations.

위의 URL에 접속해보면 현재 43가지의 웹기반 또는 패키지 형태의 데이터 시각화 도구가 정리되어있습니다. 대부분 MIT/BSD/GPL 등의 오픈/프리 소프트웨어 라이세스 기반으로 배포되고 있기 때문에 편하게 가져와서 사용하시면 됩니다. 각각을 선택해서 보면, 해당 도구의 웹사이트 및 소스코르를 받을 수 있는 링크가 걸려있습니다. 최근에 각광받고 있는 GitHub를 통해서 소스코드들이 많이 배포되고 있습니다. (하드코더가 아니라서 저는 GitHub를 아직 사용해보지 않았습니다. 이런 도구를 사용하는데도 편해져야 하는데...) 어떤 도구들은 튜토리얼도 함께 제공되기 때문에 이용하는데 큰 어려움은 없을 것으로 보입니다. 상단 메뉴바에서 왼쪽에는 시각화의 형태별로 선별할 수도 있고, 오른쪽의 'Code?'항목을 선택하시면 패키지/애플리케이션 형태의 도구들만 따로 모아볼 수도 있습니다.

사이트의 상위 사이트에 들어가면 더 다양한 도구들, 설명 및 데이터세트 등을 만나볼 수 있습니다. http://datavisualization.ch/

세상에는 대단하고 친절한 개발자들이 참 많습니다. 각자의 도구를 개발해주신 분들도 그렇고 또 이렇게 일목요연하게 모아서 정리해주신 분도 그렇고... 그래서 저같은 무늬만 개발자도 밥을 먹고 살 수가 있습니다.

검색을 통해서 찾을 수 있는 몇 곳을 더 리스트업합니다.


댓글을 달아 주세요

  1. Favicon of http://junyoungkim.tistory.com BlogIcon junyoung.kim 2013.01.07 09:51 신고 Address Modify/Delete Reply

    이런 거 아주 좋습니다. ㅎ.
    언젠가 drp가 가지고 있는 데이터의 모습도 이렇게 시각화할 수 있으면 좋겠습니다.
    필터, 운영삭제, 성인컨텐츠 등등 여러 형태의 데이터들이 많거든요.

    지금 진행하는 비프로스트프로젝트가 끝이나면 가시권에 오게 될텐데.
    말씀하신 것 처럼, 여러 분들을 설득을 해야할 것 같아요.

    이런류의 실험에는 영 관심들이 없으신 것 같아서요.

  2. Favicon of http://newtv.tistory.com BlogIcon Jerome Eugene Morrow 2013.01.07 13:25 신고 Address Modify/Delete Reply

    세상에는 대단하고 친절한 개발자들이 참 많습니다 <-- 주위에도 많아야할텐데 말이죠 ㅎㅎㅎ 항상 좋은 글 감사합니다.

Share           Pin It

트위터를 통해서 질문을 받았습니다. 그 질문에 대한 답장을 보냈습니다. 앞으로 데이터마이닝 및 빅데이터 분석에 관심이 있는 이들이 많이 있을 것같아서 그 내용을 그냥 옮겨 적습니다.

질문.
저는 XX대학교 정보통계학과 2학년 재학중인 학생입니다. 통계학을 전공하고 있는 저로서는 Data Philosopher[각주:1]가 저의 이상이라 생각이 들었습니다. 무엇을 어떻게 준비해야 경쟁력이 생길까요..? 빅데이터시대에 데이터 분석가로서의 자질을 갖추기 위해서는 어떠한 것들을 준비해야할지 여쭙고 싶습니다. (개인정보 및 부가적인 부분은 삭제했습니다.)

답변.

저의 이전 글들도 읽어보셨는지 모르겠지만 (데이터마이닝 카테고리), 저의 학문적인 백그라운드는 데이터마이닝과 거리가 있고 회사에서는 데이터마이닝팀에 속해있지만 현업에서의 마이닝업무는 학교에서 다루는 것과 다소 차이가 있습니다. 최근에 빅데이터가 이슈라서 인프라를 갖추고 기본적인 것들은 하둡 등을 활용하고 있지만 빅데이터 전문가도 아닙니다.

지금 통계를 전공하고 계시기 때문에 수학적인 부분 - 수치적 데이터 해석 - 에서는 강점이 있다고 생각됩니다. 그런데 통계/수학을 전공하시면 수치 데이터에서는 편안함을 느끼겠지만, 현장/서비스에서 나오는 데이터들에 약점이 있다고 생각됩니다. 서비스 관련 데이터의 대부분은 숫자가 아닌 다른 형태 (키워드, 문서, 이미지, 음성 등)로 된 경우가 더 많습니다. 그리고 해당 서비스마다 비즈니스 로직 또는 레가시 시스템이 있기 때문에 통계적 지식만으로 문제를 해결할 수가 없는 경우가 많습니다.

앞으로 어떤 분야로 진출하실지 모르겠지만, 제조업이든 금융이든 생명/바이오든 아니면 저같이 웹/인터넷 관련이든 해당 도메인/산업/서비스의 백그라운드 지식을 공부해두는 것이 좋을 거라 생각됩니다. 최소 관심있는 분야에 대해서 미리 공부해두시면 향후 진로결정에도 도움이 됩니다. 가능하면 생명과나 전자과 등을 복수/부전공하시는 것도 좋고, 이것이 어렵다면 101과목들이라도 들어두시면 진로선택에 도움이 될 것으로 생각됩니다. 두번째로 현재 통계학과에서는 SAS나 R 또는 매스매티카, 미니탭 등의 통계 패키지를 사용하시겠지만 이것들로는 실제 업무에 한계가 있습니다. 메인 분석업무는 해당 패키지를 사용하더라도 전처리나 후처리/데이터연동 등에서는 다른 랭귀지들이 필요한 경우가 많습니다. 그러니 적어도 C나 Java, 파이썬 등 한가지 이상의 컴퓨터 랭귀지를 공부해두시는 것이 좋습니다. 아울러서, 다양한 알고리즘, 특히 머신런닝과 관련된 최근 기술들에 대한 지식축적도 게을리하시면 안 됩니다. 회귀분석이나 클러스터링, 클래시피케이션 등의 기본적인 것은 모두 알고 있으면 나중에 편합니다. 모든 알고리즘들을 마스터하실 필요는 없지만, 개념적으로 어떻게 만들어지고 작동되는지 정도는 미리 알아두시는 것이 좋을 것같습니다. 가능하면 다양한 알고리즘들을 직접 구현해보는 것이 이해 및 적용에 많은 도움이 됩니다.

그리고 구체적으로 빅데이터에 대해서 물어보셨는데, 사실 저도 전문가가 아니라서 훈수를 두기가 조금 두려운 감이 있습니다. (실제 제가 사용하는 것이 아닌 것들도 막 얘기할테니 적당히 걸러서 이해하세요.) 빅데이터는 크게 시스템 개발 및 운영, 데이터 분석, 서비스 활용 등으로 나뉠 수 있을 듯한데, 통계학/분석을 전공하시기 때문에 시스템 쪽은 별로 관련이 없을 듯합니다. 기본적으로 어떤 시스템들이 있는지 정도만 파악해도 별 문제가 없을 듯합니다. 실제 데이터 분석이 주로 관심이 있으실텐데, 사실 빅데이터라고 해서 데이터 분석방법이 달라지는 것은 없습니다. 그러니 앞서 설명드린 데이터마이너로써의 기본자질인 서비스/도메인에 대한 이해의 폭을 넓히고 컴퓨터 랭귀지 및 알고리즘을 어떻게 잘 활용할 수 있는지에 대한 고민과 학습이 필요하리라 생각됩니다. 그리고 빅데이터에서는 R이 많이 주목받고 있기 때문에 R을 이용해서 다양한 데이터를 처리해시면 좋을 듯합니다. 빅데이터를 위한 머신러닝인 Mahout같은 것도 최근에 연구/개발되고 있으므로 이런 것도 미리 사용해본신다면 좋을 듯합니다. (하둡이나 이런 빅데이터 기술을 잘 활용하려면 Java나 파이썬 등이 필요합니다.) 통계에서는 단순히 분석 결과 수치가 유의하냐 안하냐정도만 따지면 되지만, 이것이 서비스로 활용가능하기 위해서는 분석결과를 잘 보여주는 것도 중요합니다. 그러니 웹 인터페이스를 통해서 또는 (그래피컬) 비쥬얼라이제이션에 대한 것도 미리 공부해두면 좋을 듯합니다. (많은 것들을 제가 실제로 하고 있지도 않으면서 이렇게 훈수를 두는 것이 조금 부끄럽네요.)

'빅데이터 시대에 살아남는 법'이란 글에서도 적었지만 빅데이터는 데이터의 사이즈와 다양성이 증가한 것이지 기본적으로 스몰 데이터와 차이가 없습니다. 처음부터 빅데이터 전문가가 되겠다고 시도/준비할 것이 아니라, 우선 데이터 분석의 전문성부터 갖추고 향후에 분석하는 데이터의 특성이 빅데이터에 맞다면 그때 빅데이터 기술들을 적용하는 것이 현실적입니다. 그리고 데이터 분석의 기본은 우수한 알고리즘이나 구현기술이 아니라, 주어진 데이터 내에 합의된 의미를 찾아내는 것이 입니다. 그러니 주어진 문제/서비스/데이터에서 어떤 인사이트를 어떻게 얻어낼 수 있는가?에 대한 고민이 먼저입니다.

Occupy your 2013.

  1. 단순히 수치 데이터를 분석해서 결과를 서비스에 적용하는 것이 아니라, 전체 서비스와 데이터를 조망해서 관련 의미를 뽑아내고 가치를 부가하는 그리고 (어떤 측면에서) 데이터에 대한 철학적인 고민까지 아우르기 위해서 제가 스스로 저를 Data Philosopher라고 칭하기로 함. [본문으로]

댓글을 달아 주세요