MapReduce(맵리듀스)
대용량 데이터를 잘게 나눠 여러 서버가 동시에 병렬로 처리하게 한 뒤(Map), 각 서버의 처리 결과를 모아 하나로 취합해 최종 결과를 만들어내는(Reduce) 분산 데이터 처리 모델입니다.
한눈에 보는 정의
MapReduce(맵리듀스)는 대용량 데이터를 여러 서버에 나눠 병렬로 처리(Map)한 뒤, 그 결과를 하나로 취합(Reduce)하는 분산 데이터 처리 모델입니다.
자세히 알아보기
- 예문: "수억 건의 로그에서 단어별 등장 횟수를 세는 작업을, MapReduce로 여러 서버에 나눠 동시에 처리했다."
- Map 단계에서는 전체 데이터를 여러 조각으로 나눠 각 서버가 동시에 자신이 맡은 조각을 처리하고, Reduce 단계에서는 이렇게 흩어진 중간 결과를 모아 하나의 최종 결과로 합칩니다.
- HDFS(하둡 분산파일시스템) (HDFS)에 분산 저장된 데이터를 그 자리에서 바로 처리할 수 있어, 데이터를 한곳으로 옮기지 않고도 대규모 연산을 병렬로 수행할 수 있게 해줍니다.
- 이후 등장한 Spark(아파치 스파크) (Spark)는 중간 결과를 메모리에 유지해 MapReduce보다 훨씬 빠른 처리 속도를 제공하면서, 많은 영역에서 MapReduce를 대체해나가고 있습니다.