그래서 “빅데이터(Big Data)”가 도대체 뭐냐고…

지난 주에 아시는 지인으로 부터 한 통의 전화를 받았습니다.

“빅데이터를 어떻게 봐야 하는가?”

그때는 전화상이여서 상식적인 선에서 적당히 말씀 드렸지만 이미 그분이 계시는 곳에서도 하루에도 몇 TB의 데이터를 쌓아서 분석하고 예측을 하고 있는 상황에서 도대체 이놈의 “빅데이터” 는 어떻게 받아들이고 계신지 제가 더 궁금했을 정도입니다. 아무튼 나중에 다시 만나 뵈면 구체적으로 여쭈어 볼 생각입니다.

그래서 다시 한번 생각을 해보게 되었습니다.

“정말 빅데이터란 무엇인가?”

저는 여전히 빅데이터라고 하면 대용량의  데이터를 다루는 일이 그 핵심이라고 생각합니다.

오라클과 같은 데이터베이스 시스템에 다소곳이 저장되어 처리가 되기를 기다리는 정형화된 데이터(structued data)보다는 사용자들이 웹이나 앱을 사용하면서 발생하는 각종 로그 데이터나 센서로부터 끓임없이 발생하는 스트리밍 데이터와 같은 비정형적인 대용량 데이터(large scale unstructured data) 를 다루기 위해서 등장한 기술 , 트랜드가 빅데이터라고 믿고 있습니다. 물론 지금은 프레임워크 , 플랫폼, 저장기술, 분석기술 , 인공지능, 데이터 마이닝, 기계학습, 예측 모델, NoSQL, 클라우드 컴퓨팅에 이르기까지 그 의미와 적용 범위가 넓어지고 이로 인해서 사람들에게 혼란을 주고 있지만 여하튼 빅데이터는 “빅” 인것이죠.

물론 단순히 대용량의 데이터만을 다루는 것만이 빅데이터라고 말씀드리는 것은 아닙니다. 이러한 대용량 데이터를 배치 프로세스이든 실시간으로 처리하든 목적을 이루기 위해서 필요한 일련의 기술과 운영능력 등등이 모두 포함된 것을 빅데이터라고 말하는 것입니다.

그렇다면 데이터가 매우 많은 포털, 게임사, 통신사, 연구소, 그리고 글로벌 기업들만 이러한 빅데이터에 대한 기술과 역량을 갖추어야 하는 것일까요? 또는 어느 정도의 데이터가 있는 기업들이 이러한 빅데이터 기술과 역량을 도입하고 적용해야 하는 것일까요? 중소기업들은 빅데이터라는 기술에 대해서 관심을 가질 필요가 없는 걸까요?

아시다시피 하둡이라고 하는 기술은 x86 계열의 범용서버에서 자바만 설치하면 사용할 수 있는 상대적으로 매우 간단(?)한 분산 컴퓨팅 프레임워크를 제공하고 있습니다. 뿐만 아니라 Pig, Hive 을 활용하게 되면 복잡한 자바프로그래밍을 하지 않아도 손쉽게(?) 데이터를 처리하고 분석할 수 있는 환경을 제공하고 있습니다. 뿐만 아니라 HBase 와 같은 것을 프레임워크를 설치하면 어느정도 스키마를 제공하는 대용량 데이터베이스 환경을 갖출 수가 있습니다.

그런데 이미 적당히 성능좋은 서버와 스토리지 서버를 이용해서 MSSQL 또는 오라클을 설치해서 데이터를 저장하고 처리를 하면 별 문제 없는 곳에서 하둡을 도입할 필요가 있냐는 것입니다. 주위에서 빅데이터라고 말하고 하둡이 머고 어쩌고 하지만 살펴보니 그냥 지금 데이터베이스에서 별 문제가 없다면 하둡을 도입할 필요가 없는 것이죠.

표준화되고 최적화된 SQL 언어와 상대적으로 구인하기 쉬운 DBA가 있는데 하둡을 도입해서 드는 개발비, 학습시간, 시행착오, 추가적인 운영비등을 고려하면 하둡이나 몽고DB등과 같은 NoSQL 기술들은 과유불급이 되어서 쓸데없이 돈만 쓰고 효과가 있기는 커녕 시간낭비에 시스템 전반을 불안하게 만들 수 있는 요인만 키우는 꼴이 됩니다.

하지만 대용량의 데이터를 다루는 포털, 게임사, 통신사등은 하둡과 관련된 빅데이터 기술을 통해서 단기적인 효과는 쉽게 얻을 수 없었겠지만 중장기적으로는 비용절감 측면이나 대용량 데이터를 처리할 수 있는 역량을 내재화하기 위해서 몇년전 부터 빅데이터 기술을 도입을 하고 노력을 기울이고  있습니다.

그리고 사실 이미 국내의 할만한 곳은 다, 빅데이터와  환경과 기술 투자, 인력투자를 마치고 열심히 그 실질적인 성과를 높이기 위해서 노력들을 하고 있다고 생각됩니다. 제가 하나하나 구체적인 케이스를 확인할 수는 없지만요 하둡 엔지니어 구해달라는 주변 분들의 얘기나 국내에서 발표되는 사례를 보건데 이미 국내에서는 여러 빅데이터 파일롯 프로젝트들이 규모가 되는 커머스기업이나 대기업을 중심으로 제법 하고 있는 눈치입니다. 사실 눈치밥으로 말씀드리는 거에요. 세세하게 어디 어디가 하고 있는지는 저도 잘 모릅니다만.^^

그런데 흥미로운 부분이 있습니다. 바로 회사의 규모는 작지만 웹이나 모바일 서비스를 하는 기업들이 사용자의 로그데이터를 기반으로 통계를 내거나 행태분석을 위해서 하둡과 같은 빅데이터 기술을 활용하는 예입니다.

이것도 두가지로 나뉠 수가 있는데요.

하나는 돈이 충분하지 않아서 중견기업과 같이 중형급이상의 서버와 오라클과 같은 상용 데이터베이스를 도입할 수 없어서 저가의 x86 범용서버에 MySQL로 어떻게든 해보고 있다가 5대~10규모의 소규모 하둡클러스터를 구축해서 데이터 저장과 통계, 분석을 하는 경우입니다. 하둡이나 NoSQL은 그 특성상 저가의 스토리지를 이용해서 대용량 데이터를 효율적으로 저장할 수 있고 , 전체 데이터를 대상으로 조건에 맞는 데이터를 카운트하는데는  매우 최적화되어 있습니다. 의외로 이렇게 ROI(투자대비 효용)가 맞아떨어지기 때문에 이러한 빅데이터 기술이 요긴해지는 것이죠.

또 하나는 클라우드 컴퓨팅 환경에서 웹이나 앱을 기반으로 서비스를 하는 스타트업이나 중소업체의 경우입니다. 아마존, MS애저, 구글뿐 아니라 여러 PaaS 에서는 사용자 로그를 저장할 수 있는 스토리지 서비스, 대용량 데이터스토어,  데이터를 분석할 수 있는 하둡과 빅데이터 서비스와 함께 제공하고 있습니다. 비록 자체적으로 빅데이터 환경을 갖추고 있지도 않고 개발 인력도 부족하지만 이러한 클라우드 컴퓨팅 환경에서의 빅데이터 기술의 활용은 크게 늘어나고 있고 앞으로 더 늘어날 것입니다.

이러한 논리로 정리하다보니 결국 빅데이터의 도입은 어느 정도의 예산이 있고 운영할 역량이 되는 적당한 규모의  중견기업보다는 어떻든(?) 적용할 분야가 있을 수 밖에 없는 대기업과 정말 돈이 없는 스타트업 또는 중소기업에게나 필요한 것은 아닐까 생각이 듭니다. 결국 주어진 여건(예산)에 따라서 체감하는 “빅” 은 달라질 수 밖에 없는 것이죠. ROI 라는 말이 생각나네요.

스크린샷 2013-03-03 오후 4.15.05

그러고보니 빅데이터의 정의를 “일반적으로 사용하는 방법이나 도구로 수집, 저장, 검색, 분석, 시각화 등을 하기 어려운 정형 또는 비정형 데이터세트” (위키피디아 참조) 가 아니라 “주어진 예산에 따라서  수집, 저장, 검색, 분석, 시각화 등을 하기 어려운 정형 또는 비정형 데이터세트” 라고 바꾸어야 하지 않을까 싶기도 합니다. 🙂

여튼저튼 “빅” 을 쏘옥 빼고 “데이터”에 자체에 대해서는 생각들 해보시나요?  “데이터” 만 이해하기에도 참 어려운 세상입니다.

Advertisements
이 글은 IT 카테고리에 분류되었고 , 태그가 있습니다. 고유주소 북마크.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중