하둡  446
 admin  2014-11-24 10:05:42.0

인터넷이 폭발적으로 성장한 지난 10년간 엄청난 변화가 있었다. 데이터 저장, 관리, 처리에 근본적인 변화가 필요했다. 이전보다 더 많은 정보와 소스를 축척하기 시작해서 엄청난 데이터를 나름 분석하여 회사수익으로 환원하기 위해 수많은 기업들이 노력해왔다. 최근에는 역설적이게도 데이터를 찾고 저장하는 것은 물론이고 매일 수없이 쌓이는 데이터를 처리 하는것에 근본적인 문제가 생겼다. 데이터 규모, 속도 그리고 다양한 측면에서 가공하고 분석하는데 사용하는 인력과 비용 대신 새로운 어플리케이션과 플랫폼 도입이 필요하게 된 것이다.

■ 하둡 개요 (Hadoop = HDFS + MapReduce)
    애플리케이션 구축에 실용적이고 확장성 있는 인프라를 저비용으로 제공하는 플랫폼으로 아파치 하둡의 반은
    하둡 분산 파일시스템(HDFS)이라 불리는 파일시스템이고 나머지 반은 맵리듀스다.

  ○HDFS(Hadoop Distribution File System)
     말 그대로 하둡 분산 파일 시스템이다. 구글의 2003년에 발표한 첫 논문. 데용량 데이터에 최적화된 실용적이며
     확장 가능한 분산 파일시스템, 즉 구글 파일 시스템(GFS)에서 영감을 얻어 개발된 분산 시스템이다.
     바로 특정 스토로지의 하위 시스템에 의존하지 않고, 클러스트의 여러 머신에 이 하둡 데이터 블록을 복제한다.
     이 복제된 블록의 사본을 레플리카라고 하는데 레플리카가 다수의 시스템에 분산되면 비록 시스템 하나가 실패해도
     큰 문제가 없게 되고, 애플리케이션은 네트워크상에서 가장 가까운 머신의 레플리카에서 데이터를 가져오는 장점도
     갖게 된다.
     HDFS는 레플리카들의 상태를 파악하고 관리하는 기능이 있다. 예를 들면 사본의 개수가 지정한 복제 인수(replication factor)
     이하로 줄어드면, 남아있는 레플리카 중 하나에 새로운 사본(new copy)을 자동을 생성한다.

  ○맵리듀스
     구글이 발표한 ‘대용량 클러스터의 단순한 데이터 처리’ 논문(수백 테라바이트의 데이터 처리를 지원하는 프로그래밍
     모델과 프레임워크를 설명하고 있다.)에서 영감을 얻은 프로그램 기술이다.
     맵리듀스는 대용량, 분산, 내고장성 데이터 처리 프로그램을 개발자가 쉽게 개발하도록 설계한 최적의 애플리케이션
     기술이다. 서블릿 개발자가 소켓I/O, 이벤트 처리, 복잡한 스레드 관리 등 저수준 영역을 직접 개발할 필요가 없는
     것처럼 맵리듀스 개발자는 잘 정의 된 간단한 인터페이스를 이용하여 프로그램을 작성하고 컨테이너에 작업을 넘기면 된다.

 하둡의 화두는 '분산' 이다. 하둡은 두가지 큰 요소의 결합인데, '처리(계산)' 와 '저장'으로 구성 할 수 있다. 즉 '분산처리' 와 '분산저장' 이라고 보면 된다. 여러개의 저가형 컴퓨터를 마치 하나인것 처럼 묶어주는 기술로 볼 수 있다.