위키득계정 ↗
기술

MapReduce

MapReduce기술
초기 연구 발표
OSDI 2004
연구자
Jeffrey Dean과 Sanjay Ghemawat
입출력 표현
키값 쌍
핵심 단계
Map과 Reduce
MapReduce는 큰 자료를 여러 컴퓨터에서 나누어 처리하는 프로그래밍 모델과 실행 시스템이다. 입력을 중간 키값 쌍으로 바꾸는 Map 단계와 같은 키의 값을 합치는 Reduce 단계로 계산을 표현한다.

중간 결과를 만드는 Map

Map 함수는 입력 키값 쌍을 처리해 중간 키값 쌍들을 만든다. 입력의 서로 다른 부분을 나누어 계산할 수 있어 여러 작업으로 병렬 실행하기에 적합한 형태를 제공한다.

키별 값을 모으는 Reduce

Reduce 함수는 같은 중간 키에 연결된 값들을 받아 결과를 만든다. 프로그램은 자료를 어떻게 분산 전송할지보다 각 단계에서 수행할 계산을 중심으로 표현한다.

실행 시스템의 역할

실행 환경은 입력 분할과 작업 배정 및 컴퓨터 사이의 통신을 맡는다. 작업 중 장비에 장애가 생겼을 때의 처리도 포함해 큰 클러스터에서 프로그램을 실행하는 세부 부담을 줄인다.

관련 문서

병렬 컴퓨팅 / Dremel 분석 시스템 / Bigtable / 데이터베이스 / SQL / 스레드 (컴퓨팅)