Hadoop

Hadoop과 구글 기술과의 관계

딜레이라마 2017. 1. 16. 20:28
반응형

구글 논문을 통해 발표된 ‘구글 파일 시스템(Google File System)’은 대량의 데이터를 복수의 서버에 저장할 수 있는 파일 시스템이다. Hadoop에서 구글 파일 시스템에 해당하는 것이 HDFS(Hadoop Distributed File System)다.

한편  ‘MapReduce(맵리듀스.  이하 MapReduce)’는  구글  파일  시스템에  저장되어  있는  대량의  데이터를  분산  처리하기  위한  알고리즘  프레임워크다. Hadoop에서는 Hadoop MapReduce5가  이에  해당한다.  이  두  가지  외에도  연동  소프트웨어에  대한  아이디어도 논문을 통해 공개하고 있다. Hadoop프로젝트에서는 HDFS와 MapReduce뿐만 아니라 오픈 소스 개발도 함께 진행하고 있다.

 처리내용

구글 

Hadoop 

분산 파일 시스템 

GFS : Google File System 

HDFS : Hadoop Distributed System 

분산 처리 프레임워크 

MapReduce 

Hadoop MapReduce 

키 벨류형 데이터 스토어 

Big Table 

HBase 

Hadoop개발은 2005년부터 더그 커팅(Doug Cutting)을 중심으로 시작되었다. 더그 커팅은 원래 루씬(Lucene)이나 넛치(Nutch)라고 하는 오픈 소스 프로젝트 개발자였다. 루씬은 전문 검색 엔진이고, 넛치는 웹 크롤러(Web Crawler)로 루씬 상에서 동작하는 애플리케이션이다. Hadoop의 MapReduce는  넛치를  발전시키기  위해서  탄생했다고  보고  있다. 더그 커팅은 Hadoop을 오픈 소스로 개발하기 위해 노력했다. 그리고 ‘누구든 이 툴이 가진 우수함을 누릴 수 있다.’는 것을 강력히 주장했다.대규모 병렬 분산 처리를 누구든지 쉽게 이용할 수 있고 수많은 사람들이 이용함으로 많은  피드백을  수집할  수  있다.  이렇게  수집한  피드백은  품질  향상으로  이어지고,  이런  과정을 반복할 수 있다는 것이 것이 오픈 소스화의 장점이다. 실제로 지금도 많은 개발자가 Hadoop개선에 참여하고 있으며, 아주 빠른 속도로 진화하고 있다


▒병렬 분산 처리 시스템

MapReduce가 실현하고 있는 기능은 병렬 분산 처리를 연구하던 기술자나 연구자들에게 있어서 새로운 기술이 아니었다. 즉 예전부터 존재했던 처리 중 하나로, 해당 분야에서는 ‘상식’적인 부류에 속하는 기술이다. 하지만 기존 병렬 분산 처리 기술은 특정 하드웨어 환경에서만 동작하거나, 특정 소프트웨어 상에서만 동작하는 ‘고급형’이었다. 이런 기술은 매우 고가였으며, 일반인의 접근이 어려웠다. 그러나 Hadoop은 누구든지 기술을 사용할 수 있는 ‘범용적인’ 형태로 제공하고 있다는 것이 큰 이점이다.게다가, Hadoop이  값비싼  하드웨어가  아닌,  ‘일반적인’  하드웨어에서도  동작하는  것  또한  큰  특징이다.  복수의  서버를  이용하는  분산  처리에서는  장비  고장에  따른  영향을  줄이기  위해서  비싼  장비를  사용하는  경우가  적지  않다. Hadoop 설치가  용이한 IA 서버를 전제로 한 설계는 많은 엔지니어와 기업들이 도입하여 비용 대비 효율을 높이고 있다. Hadoop에서는 일부 서버가 고장 나도 데이터를 잃거나 처리 실패가 일어나지 않도록 구성되어 있다.또한, 분산 처리 애플리케이션 개발이라는 관점에서도 Hadoop이 그 문턱을 많이 낮추었다고 말할 수 있다. 병렬 분산 처리를 실현하려고 하면, 하나의 처리(잡)를 어떤 단위(태스크)로 분할할 것인지, 해당 태스크를 어떤 컴퓨터에서 실행할 것인지, 각 태스크 결과를 어떤 방식으로 모을 것인지, 도중에 서버 고장으로 태스크 실행에 실패했을 때 어떻게 복구할 것인지 등 많은 것을 고려해야 한다.


위 그림과 같이 분산 처리 문제(의 일부)를 자동적으로 처리해준다.

그러나 Hadoop에서는 MapReduce라는  프레임워크에  따라  애플리케이션을  개발하면 이런 문제를 자동적으로 해결할 수 있다. 개발자는 그저 개별 애플리케이션에 특화된 내용만을 기술하면 된다. 이와 같은 ‘범용화’가 Hadoop사용이 급속히 늘어난 이유 중 하나라고 볼 수 있다.



출처 : 빅데이터 시대의 하둡 완벽 입문

반응형