본문 바로가기
Big Data

빅데이터란 무엇인가?

by csk 2015. 2. 21.

정말 오랜만에 글을 씁니다. 제가 이 블로그를 돌보지 않는 동안에도 방문자가 꾸준이 늘었더라구요. 무언가 검색해서 제 글을 읽어주신 모든 분들께 정말 감사드립니다. 그리고, 조금이나마 도움이 되었다면 좋겠다는 맘이 굴뚝같네요. 그런데, 단 한 분 정도만 글을 남겨주셔서 느낌이 어떠셨는지 알 수가 없다는 아쉬움이....쿨럭.........:-)

------------------------------------------------------------------------------------------------------


요사이는 빅데이터 관련 일을 하고 있습니다. 개인적으로 또 한번의 새로운 도전이죠. 왜그렇게 힘들게 사냐는 친구들도 물론 있지만, :) 그래도 맘이 끌리는대로 움직여 봅니다. 


빅데이터! 이게 참 요즘 핫한, 그야말로 뜨거운 감자는 확실한데요. 무엇이 빅데이터 인지, 확실히 아는 분이 적은것 같아요.

 


출처:http://biz.heraldcorp.com/view.php?ud=20130821000356


위키의 정의는 이렇습니다.


빅 데이터(영어: big data)란 기존 데이터베이스 관리도구로 데이터를 수집, 저장, 관리, 분석할 수 있는 역량을 넘어서는 대량의 정형 또는 비정형 데이터 집합[1] 및 이러한 데이터로부터 가치를 추출하고 결과를 분석하는 기술[2]을 의미한다

출처 : http://ko.wikipedia.org/


키워드를 뽑아보자면 "대량", "비정형"의 "데이터" 또는 그에 대한 "분석 기술"이 되겠네요.


우선, 첫번째로 말씀드리고 싶은건 데이터가 많다고 빅데이터가 아니라는 겁니다. 데이터의 양으로 빅데이터 여부를 구분한다는 것은 무리가 있습니다. 5기가 이상 쯤 되면 많은 걸까요? 에이, 5테라 이상은 돼야 '빅' 인건가요? 

이렇게 데이터의 양으로 구분하는 것은 어느누구도 정확한 기준을 말할 수가 없어요. 그보다는 빅데이터가 대두된 배경을 보시면 좀 더 명확해 지는 것이, 이전에는 버려지던 - 관리해서 분석할 수 있는 대상이 아니었던 - 데이터를 사용하게 된 것이 빅 데이터의 사작이라는 점입니다. 

 

그러니까 정의에서 말하듯이 Oracle, MySQL, DB2 등의 데이터베이스 관리 도구(DBMS)에 넣지 않았던 혹은 못했던 데이터를 빅 데이터 라고 하는 거죠. 


넣지 않았거나 또는 넣지 못했던 이유는 뭘까요? 일단 양이 많아서 일 수도 있고, 형태가 일정하지 않아서 일 수도 있습니다. 


DBMS는 돈이 듭니다. 소프트웨어를 구매해서 설치해야 하고 여기에 맞게 누군가가 지속적으로 관리 해줘야하고, 하드웨어도 받쳐줘야 하죠. 그런데, 그렇게까지 돈을 들여 관리할 만큼의 가치는 없는것 같은데, 양은 너무나 많은 데이터들은 어떻게 해왔나요? 대개 '로그' 등의 이름으로 부르면서, 텍스트파일 형태로 아무데나 쌓아놓다가 서버에 공간이 부족하게 되면 일순위로 쓱~ 지워버리곤 했었습니다. 


또 형태가 일정하지 않으면 DBMS에 넣을수가 없어요. 데이터베이스는 미리 테이블 이라는 표 형태의 틀을 정해놓고 내용을 행열 맞춰 채워가며 관리하는 형태거든요. 그래서 그때그때 다른 모양의 정보가 들어오는 경우에는 이걸 처리할 수 없거나, 억지로 처리한다고 해도 비용이 엄청나게 들게 됩니다.


그래서 빅데이터는 텍스트 형태인경우가 많습니다. 일반적으로 한 줄이 데이터 한 건이되고, 그 한 줄 내에 나름의 구분자(: ; , \t \n ....)를 넣어두긴 하죠. 



그러나 텍스트 형태의 로그 성격 데이터만이 빅데이터는 아닙니다. 정의에서 말하고 있듯이 여러 형태의 데이터를 모아놓은 경우도 빅데이터에 해당하죠. 카드를 사용하고 있는 특정 사용자에 대해 분석하려고 할때, 이 사람의 카드 사용이력만 보진 않구요, 필요한경우 다른 SNS에 남긴 글 이라든지, 친구 관계 라든지 하는 가능한 모든 데이터를 끌어옵니다. 이렇게 되면 데이터의 형식은 당연히 제각각일꺼고, 양은 많아지게 되죠. 비정형의!, DBMS에 넣기 어려운! 데이터이니, 당연히 빅데이터가 되는 겁니다. 



그럼 이 데이터를 이제와서 왜 사용하게 되었을까요? 


짐작하시는 대로 하드웨어와 소프트웨어 양쪽 모두에서 기술이 엄청나게 발달했기 때문입니다. 하둡이니, 맵리듀스니 하는 빅데이터 전용 처리 기술이 발전해서 이제는 엄청나게 큰 싸이즈의 데이터도 몇시간이면 처리할 수 있게 되었죠. - 다음에는 빅 데이터 관련 기술 용어들의 간단한 개념을 소개해 드릴께요. 어찌나 새로운 용어가가 많은지... 그래도 조금만 아시면 대략의 그림을 그리실 수 있으니까요. :) - 그래서 전에는 버려지던, 로그나, 사용자의 사용이력도 떡~하니 쌓아놓고 분석이라는 것을 시작하게 되었습니다. 


워낙 빅데이터 처리 기술쪽도 핫하다 보니, 빅데이터의 정의에서 조차 데이터 또는 처리 및 분석 기술이라는 식으로 적고 있는데요. 제 생각에 그건 좀 아닌것 같아요. 빅데이터는 데이터고, 빅데이터 처리 기술은 기술인거죠... :)


빅데이터를 사용할때 기본적으로 알아야 할 사항이 있어서 정의에 덧붙여 조금 더 설명해 드립니다.

 

비정형이기도 하고, 로그를 남기듯 일단 쌓아두는 내용이고 보니, 잘못된 - 우리가 기대하지 않았던 - 데이터가 섞여 있을 확률이 매우 높습니다. 그래서 사용하기 전에 데이터를 정련 -data cleansing-하는 작업을 꼭 해야하고뭔가 처리 할 때는 모든 가능한 오류 상황을 처리 할 수 있도록 프로그램을 짜야 합니다. 처리하다가 오류나면 처음부터 다시 작업 해야하는데 '빅'이니까 기본적으로 몇 시간씩 걸리거든요.  

또 하나, 아무리 기술이 발달해서 처리는 가능하다고 하지만, 빅 데이터는 말 그대로 양이 많습니다. 그래서 무엇을 알고자 하는지 목적을 분명히 한 후 일을 시작해야 합니다. 그냥 어린시절 사진첩을 훑다가 뭘 발견하는 그런~ 기분으로는 어림도 없습니다. :( 목적을 분명히 하고 그에 맞는 가설을 세우고 대상을 조금씩 확대해가며 그 결과를 확인하는 식으로 접근해야 합니다. 


이런 빅 데이터를 무엇에 쓰느냐... 를 한마디로 정리해 본다면... 패턴을 찾는다고 할 수 있습니다.  


예를들면, 쇼핑몰의 고객의 모든 행동 이력을 가지고 어느 요일에 주로 구매가 일어나는지 알 수 있고, 개인별로라면 이사람은 어떤 물건을 좋아하는지, 어떤 행동을 보인 사람들이 탈퇴를 하거나, 재구매를 하는지 하는 것을 알아내는 거죠. 이런것을 찾아서 비즈니스 기회를 극대화 시키는 데 사용하는거죠. 구매가 많이 일어나는 요일에 세일을 많이 한다거나,  탈퇴 할 것 같은 행동 패턴을 보이는 사용자가 발견되면 자동으로 탈퇴를 막을 수 있는 당근을 제공하는것 처럼요.


우리 정부에서도 심야 버스 운행 노선을 정하기 위해서 심야의 교통카드 사용 및 택시 사용 이력을 분석 했다든지, 전기 수요를 예측하기 위해서 과거 데이터와 그에 영향을 미칠 요소들의 상관성을 분석한다든지 하는 식으로 사용하려는 노력을 기울이고는 있는데요... 앞서나가고 있는 미국에 비하면 공유되는 정보가 매우 제한적이고 그나마 자세하지도 않은게 현실입니다. 얼른 좋아져야 할텐데 말이죠.


추신) 혹시 도움이 될까 싶어 제가 읽은 책들을 소개 드릴께요.  기술 서적은 뺐습니다. 

[ 빅데이터 승리의 과학 ]


이 책은 제가 가장 추천하는 책이에요. 빅데이터의 사용 사례를 정말 유명한 사례인 오바마 선거팀의 얘기로 풀어가는데요. 이야기도 흥미진진하지만 중간중간 개념의 소개도 간결하고 명확해서 많은 지식을 얻게 해준 고마운 책입니다. 한 권만 읽으실거라면 이책을 읽으세요. :)


[ 클라우드와 슈퍼컴퓨팅이 이끄는 미래 - 빅데이터 혁명 ]


우리나라에도 빅데이터 전문가가 계시라구요. 10년도 전부터 관련 회사를 일구고 한우물을 파고계신... 그 분이 경험한 내용을 잘 정리해 주셨습니다. 우리나라 빅데이터 관련 현실에 대한 안타까운 마음이 많이 드러나 있습니다.


[ 앞으로 데이터 분석을 시작하려는 사람을 위한 책]


정말 교과서 같달까 그런 책입니다. 관련 개념들을 쭈욱 나열한거죠. 빅데이터 용어, 통계 기본 개념, 예시 살짝... 그래서 쭈욱 읽게 되지는 않고, 띄엄띄엄 보게되는것 같아요. 저자는 일본사람입니다.