데이터이야기

DB 노하우, 데이터직무, 다양한 인터뷰를 만나보세요.

빅데이터의 시작

데이터 이야기
작성자
dataonair
작성일
2012-03-13 00:00
조회
15034


빅데이터의 시작


빅데이터는 최근 IT 분야의 큰 화두가 되었습니다. 유수의 국내외 컨설팅 기관, 각종 대중 매체에서 집중적으로 다루고 있습니다. 최근에는 국내 한 공중파 방송(“빅데이터 세상을 바꾸다” http://news.kbs.co.kr/tvnews/ssam/2012/01/2428163.html )에서 다루기도 했습니다. 빅데이터는 이전에는 대용량 또는 대규모 데이터라는 표현을 많이 썼고요. 빅데이터라는 용어는 2010년에 들어서부터 본격적으로 사용되기 시작했습니다.

저의 경우는 빅데이터를 2006년에 회사에서 처음으로 다룰 수 있는 기회를 얻게 되었습니다. 사내에서 분산컴퓨팅 플랫폼을 구축하려는 시도가 있었거든요. 당시에 분산 병렬처리 분야의 몇 가지 기술과 플랫폼들을 조사해보고 테스트도 해 보았습니다. 예를 들면 MPI, PBS, SSI 같은 것들이었는데, 나름 장점이 있었지만, 복잡도가 높거나 클러스터 확장 성 측면에서 제약 사항이 많아서 적용할 수가 없었습니다. 그러던 중에 구글이 공개한 논문들을 우연히 접하게 되었습니다. 2006년 당시 읽었던 논문들은 다음과 같습니다.

● Google Filesystem
● Google MapReduce
● Google Bigtable
● Google Chubby
● Google Sawzall

아직 읽지 않으셨다면 나중에 시간을 내서 이 논문들을 하나씩 읽어 보시기를 권합니다. 빅데이터 분야의 다수의 오픈소스 프로젝트들의 이론적인 배경과 동기를 제공한 논문들이니까요.

당시 이쪽 분야의 배경 지식이 없는 상태였기 때문에, 몇 번을 반복해서 읽은 다음에야 이해를 할 수 있었습니다. 기존과는 다른 새로운 접근 방법을 써서 오늘날 빅데이터라고 얘기하는 엄청난 대용량 데이터를 다룰 수 있다는 것이 인상적이었습니다.

하지만 이러한 기술들은 논문으로만 접할 수 있었기 때문에 많은 아쉬움과 고민을 남겼습니다. 얼마나 많은 시간과 노력 또는 비용을 들여야 이러한 시스템을 만들 수 있을지 고민하는 중에 하둡 프로젝트를 알게 되었습니다. 당시 버전이 0.4 였었고 최초로 실행한 맵리듀스 프로그램은 GREP이었습니다. 오늘날 최신 하둡 버전의 경우 주요 기능에 해당하는 코드만 약 5만 라인 정도가 됩니다. 2006년 당시 하둡의 소스코드 양은 지금의 1/10 정도 수준이어서, 상대적으로 코드 분석하기도 쉬웠고, 기능도 단순했습니다. 그래도 나름 잘 동작하는 분산파일시스템과 맵리듀스를 실행해 볼 수 있다는 것에 상당히 만족했습니다. 그리고 2006년 겨울에 약 80대의 x86 서버들로 300TB 정도의 데이터를 저장할 수 있는 하둡 클러스터를 구축했습니다. 당시 하둡 버전은 0.9였는데 아마도 국내에서는 대규모로 구축된 최초의 하둡 클러스터가 아닐까 생각합니다. 2007년에는 구글 빅테이블을 구현한 오픈소스 프로젝트(HBase, Cloudata)가 생겼습니다.

여기에서 빅데이터하면 빠지지 않고 나오는 빅데이터 속성인 3V 대해서 언급을 해보려고 합니다. Velocity, Volume, Variety가 그것인데요

첫 번째 Volume은 크기를 의미하는 데, 크기가 어느 정도 되야 빅데이터 인지에 대해서는 시각 차가 존재 합니다. 일반 기업에서는 수TB 규모의 데이터를 빅데이터라고 하기도 하고요. 구글, 야후 같은 인터넷 기업의 경우 수PB 이상의 데이터를 빅데이터라고 하기도 합니다. 어찌 보면 인터넷 회사와 일반 기업 같은 경우 일찍이 다루어야 할 데이터의 양 자체가 엄청나게 차이가 났기 때문일 수도 있습니다. 대표적인 빅데이터 기반의 인터넷 기업인 구글만 하더라도, 2003년에 분산 병렬 처리 방법론의 defacto standard라고 할 수 있는 MapReduce를 개발하였고, 한달 동안 약 30,000여개의 데이터 분석 작업을 수행하였으며, 분석 작업 당 평균 입력 데이터가 약 140GB 정도 되었습니다. 이미 거의 9년 전부터 구글에서는 수PB 이상의 데이터를 다루고 있었던 것입니다.

두 번째 Variety는 다양한 종류의 데이터를 수용할 수 있는 속성을 말합니다. 빅데이터 시대에 폭발적으로 증가하고 있는 데이터는 정형이 아닌 비정형 데이터입니다. 이러한 비 정형 데이터를 대규모로 가장 먼저 다룬 곳도 인터넷 기업이라는 것은 쉽게 예상할 수 있습니다. 일반 기업에서는 최근까지도 분석을 위한 저장소로 관계형DB를 주로 사용하고 있습니다. 하지만 이러한 관계형DB에서 다양한 종류의 비정형 데이터를 저장/관리하기가 쉽지 않습니다. 아니면 많은 비용을 들여서 전용 DB 어플라이언스를 사면 나름 만족스러운 성능과 안정성을 얻을 수도 있지만, 수익과 직결되지 않거나, Mission-Critical하지 않은 업무에 많은 비용을 투자하기가 쉽지 않을 것입니다.

세 번째는 Velocity 즉 속도입니다. 대용량의 데이터를 빠르게 처리하고 분석할 수 있는 속성입니다.

이러한 속성들을 만족하기 위해서 구글, 야후, 페이스북 같은 인터넷 기업들은 필사적으로 자체적인 빅데이터 기술과 시스템들을 개발하고 구축하는 데 힘썼고, 구현된 기술들을 이용해서 비즈니스적으로도 크게 성공하게 되었습니다. 이들 인터넷 기업들의 경우는 빅데이터 기술 자체를 판매하기 보다는, 해당 기술들을 이용해서 만든 서비스를 통해서 수익을 창출 하는 구조였기 때문에, 자사의 기술들을 논문 또는 오픈소스 프로젝트의 형태로 외부에 공개를 했습니다.

정리를 하면 최근 빅데이터 시장에서 전통적인 글루벌 솔루션 업체인 IBM, Oracle, Microsoft등은 우수한 기술력을 앞세워서 다양한 빅데이터 솔루션 라입업을 출시하여 시장을 주도하려고 하고 있습니다. 하지만 앞서 언급한 것 처럼 빅데이터의 주요 기술들은 솔루션 업체가 아닌 인터넷 회사들에 의해서 처음 만들어지고 대중에게 보급되었다고 할 수 있습니다. 빅데이터하면 회자되는 기술인 하둡, NoSQL, MapReduce, Hive/Pig같은 쿼리분석 엔진, 다양한 분석 알고리즘, 워크플로우 등 이러한 기술들은 언급한 인터넷 기업들에 의해 공개된 기술들이며, 오늘날 빅데이터의 시장 형성과 기술적인 기반을 마련하는데 중요한 역할을 했습니다.

물론 이러한 기술들이 나왔지만 아직까지 확실하고 구체적인 비즈니스 모델이 많지 않아서 사업화가 되거나, 시장 활성화 단계로 가기 까지는 시간이 좀 필요할 것 같은데요.

지금이 빅데이터의 시작 단계인거고 그래서 우리에게는 더 많은 기회가 생겼다고 할 수 있습니다.