'하이브'에 해당되는 글 1

  1. 2010/12/29 클라우드 핵심 기술 ‘하둡(Hadoop)’ 은 무슨 뜻일까 (1)
사용자 삽입 이미지
‘뜬 구름’ 취급받던 클라우드 컴퓨팅(Cloud computing)이 내년부터 국내에서도 본격적으로 활성화될 것으로 보입니다. 이름만큼이나 아리송하던 클라우드 컴퓨팅은 단순히 특정 제품이나 기술로 구현되는 것이 아닙니다.

클라우드 컴퓨팅은 업체들의 기술 종속성에서 벗어난 서비스 개념으로, 공유된(Shared) 인프라에서 필요할 때마다 자원을 제공받을 수 있는 온디맨드(On demand) 형태로 구성되며, 쉽게 구현할 수 있어야 하고(Configurable) 필요한 시점에 빠르게 자원을 가져오는(Rapidly provisioned) 것은 물론 최소한의 관리(Minimal management)가 가능한 것이 핵심입니다.

그렇다면 이러한 클라우드 아키텍처는 어떻게 구성하는 것이 효율적일까요.

정답이 있는 것은 아니지만 클라우드 인프라는 비용 효율적이어야 한다는 특성 때문에 일반적으로 오픈소스 소프트웨어로 구축해 최대한 도입 비용을 낮추는 것이 핵심입니다.

우리가 흔히 접하는 아마존이나 페이스북, 구글 등의 아키텍처 역시 이러한 오픈소스 소프트웨어 기반으로 구성돼 있지요.

최근 국내에서도 많이 거론되고 있는 것이 아파치의 오픈소스 프로젝트(http://hadoop.apac
he.org) 중 하나인 대용량 데이터 처리 분석 프로젝트 ‘하둡(Hadoop)’입니다. 이는 구글 플랫폼의 오픈소스 버전이라고 할 수 있겠습니다.

국내에서는 지난해 삼성SDS가 하둡 전문 업체인 미국 ‘클라우데라’라는 업체와 협력한다는 내용의 양해각서(MOU)를 체결하면서 잘 알려지게 됐습니다.

대용량의 데이터를 빠르게 분석, 처리할 수 있기 때문에 국내에선 인간의 유전자 염기서열 분석 등 많은 양의 데이터를 분석하는 곳에 사용되고 있습니다.

여태까지 ‘하둡’에 대해 얘기하기 위해 장황한 설명을 했는데요(앞이 너무 길었네요). 사실 블로그에서 얘기하고 싶은 것은 하둡 프로젝트들의 ‘이름’과 관련해서입니다.

관련 계통에 종사하시는 IT개발자분들은 많이 아시겠지만, ‘하둡’은 오픈소스 자바검색 엔진의 대명사라고도 할 수 있는 루씬(Lucene)을 만든 더그 커팅이라는 사람이 개발
한 오픈소스 기반의 분산 컴퓨팅 플랫폼입니다.(야후에서 근무하던 더그 커팅은 지난해 클라우데라로 자리를 옮긴 바 있습니다.)
사용자 삽입 이미지

‘하둡’이라는 이름이 어디서 왔는고 하니, 바로 이 더그 커팅의 아들이 갖고 놀던 노란 코끼리 봉제 인형에서 유래했다고 합니다.

더그 커팅은 아들이 이 노란 코끼리를 발음하는 것을 듣고 이름을 ‘하둡’으로 지었다고 하는데, 아마도 ‘엘리펀트(elephant)’라고 발음하는 것이 아직 어린아이다 보니 ‘하둡’이라고 발음하는 것처럼 들렸을 것이라는 추측이 있지요(보통 엘리펀트
에서 강세가 앞쪽에 있다고 생각하면, 왜 하둡이 됐는지 얼핏 이해가 되기도 합니다.)

그래서 위 그림에서처럼 하둡의 로고도 ‘노란 코끼리’입니다. 노란 코끼리 인형을 갖고 노는 아들의
모습을 사랑스럽게 지켜봤을 더그 커팅의 모습도 떠오르는군요.

더 재미있는 것은 ‘하둡’과 연동해서 사용할 수 있는 서브 프로젝트 역시 마찬가지로 동물 이름을 딴 것들이 많다는 것입니다.

사용자 삽입 이미지
Pig(돼지)와 Hive(벌떼), Zookeeper(동물 사육사) 등의 프로젝트가 대표적입니다.

Pig(돼지) 프로젝트는 대규모 데이터셋을 탐색하기 위한 프레임워크로, 스크립트를 통해서 맵리듀스 기능을 수행하는 환경을 제공하는 것입니다.

Hive(벌떼)는 HDFS(컴퓨터들로 구성된 클러스터에서 수행되는 분산파일 시스템)에 저장된 데이터를 관리할 수 있도록 쿼리를 제공하는 데이터 웨어하우스 프로젝트라고 할 수 있습니다.

Chukwa(힌두어로 코끼리
위에 앉아있는 거북이를 뜻함)는 분산 환경에서의 로그 수집 및 저장을 위한 오픈소스 프로젝트입니다.

마지막으로 Zookeeper(동물사육사)는 분산 응용 프로그램들을 구축하기 위한 고성능을 보장하기 위한 서비스로, 분산 환경에서 노드들 간의 정보 공유, 락, 이벤트 등 보조 기능을 수행하는 것입니다.

동물 사육사라는 이름처럼 이는 동물 프로젝트들을 관리하는 차원의 기능을 한다고 할 수 있겠습니다.
사용자 삽입 이미지

아파치 재단의 오픈소스 프로젝트를 보니 최근엔 하마(Hama)도 보이더군요. 정말 외국 개발자들 작명 센스 하나는 끝내주는 것 같습니다.

국내에서도 이러한 참신한 프로젝트명들이 나왔으면 좋겠습니다. 코딩에 지쳐있는 그들에게 이러한 기대는 무리일까요.
2010/12/29 14:28 2010/12/29 14:28