1.맵리듀스 정의
맵리듀스(MapReduce) 프레임워크는 대용량 데이터를 분산 처리하기 위한 목적으로 개발된 프로그래밍 모델이다.
Google에 의해 고안된 맵리듀스 기술은 대표적인 대용량 데이터 처리를 위한 병렬 처리 기법의 하나로 최근까지 많은 주목을 받고 있다.
그림 1과 같이 맵리듀스는 임의의 순서로 정렬된 데이터를 분산 처리(Map)하고 이를 다시 합치(Reduce)는 과정을 거친다.
2. 맵리듀스 구현 플랫폼 하둡
맵리듀스를 핵심 기반으로 두고 있는 하둡(Hadoop)은 많은 분야에서 대용량 데이터 처리를 위한 핵심 기술로 큰 인기를 누리고 있다.
이러한 맵리듀스의 성공은 단순하면서도 하둡 에코시스템을 통한 확장성이 쉽고, 고장방지기능(fault-tolerance)을 지원하는 맵리듀스의 특징에 있다.
3. 맵리듀스의 구조적 특징
맵리듀스는 프로그래밍 모델인 동시에 이 모델을 구동하는 프레임워크 모두를 의미한다.
맵리듀스는 병렬 처리에 있어 요구되는 스케줄링 등의 복잡한 사항들을 사용자가 고민하지 않게 함으로써 쉬운 병렬 처리 방법을 제공한다.
맵리듀스 프로그래밍 모델은 사용자가 Map과 Reduce 두 함수를 이용하여 데이터를 처리하도록 한다.
맵리듀스의 입력과 출력에는 블록 기반 분산 파일 시스템을 이용한다.
블록 기반 분산 파일 시스템에서 파일들은 고정 크기의 블록 단위(기본 64MB)로 관리되며, 각 블록은 고장방지기능 지원을 위해 적재 시 복제되어 각 블록에 대해 기본적으로 2개의 복사본(replica)들을 가진다.
4. 맵리듀스의 장점
맵리듀스는 강력한 내고장성을 제공한다. Google의 경우 평균적으로 한 맵리듀스 작업 당 1~2개의 장애를 경험하는데 미리 복사해둔 데이터를 이용하여 맵리듀스 작업은 종료되지 않고 지속해서 수행 및 완료된다.
이러한 내고장성에 기반을 두어 맵리듀스는 매우 높은 확장성을 가진다.
출처 : 밴드 – 빅데이터 연구소