본문 바로가기
Binary Book Club/소프트웨어 아키텍처 101

[스터디] 맵 리듀스란?

by ♡˖GYURI˖♡ 2024. 1. 11.

소프트웨어 아키텍처 101을 읽다가 맵 리듀스에 대해 궁금해져서 알아보게 되었다.

 

맵 리듀스(Map Reduce)

  • 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작하여 2004년 발표한 소프트웨어 프레임워크
  • 한 명이 4주 작업할 일을 4명이 나누어 1주에 끝내는 것
  • 이 개념이 하둡에서 사용하는 병렬 처리 개념이고, 위에서 나온 4명의 작업자를 클러스터라고 함

* 클러스터 : 공통의 목표를 위해 작동하는 컴퓨터 또는 애플리케이션들의 그룹

 

 

맵 리듀스 = 맵(Map) + 리듀스(Reduce)

 

빅데이터에서 프로세스는 최대한 단순해야 한다. RDBMS(관계형 데이터베이스)처럼 처리의 순서가 필요하거나 데이터 처리 실패로 인해 다시 되돌아가는 복잡한 연산은 어렵다. 프로세스를 간단히 하기 위해서는 기준이 되는 값을 하나로 잡아야 한다.

 

맵에서는 key value를 이용하는데, key 값을 이용하면 정렬과 그룹화가 간편해지는 장점이 있다. 이를 위해 맵 구조를 이용하는 것이다.

 

맵 리듀스의 Job들은 JobTracker에 의해 제어된다. JobTracker 는 마스터 노드에 존재하는데, 이 JobTracker 가 클러스터의 다른 노드들에 맵과 리듀스 task를 할당한다. 이 노드들은 TaskTracker라는 소프트웨어 데몬에 의해 각각 실행되는데, TaskTracker는 실제로 맵 또는 리듀스 task를 인스턴스화하고, 진행 상황을 JobTracker에게 보고할 책임이 있다.

 

여기서 Job은 'Full Program' 즉, 전체 프로그램을 의미한다. Task는 데이터 조각을 통해 하나의 맵퍼 또는 리듀서를 실행하게 된다.

 

 

맵 리듀스 과정

Input → Splitting → Mapping → Shuffling → Reducing → Final Result

 

  • Input : 데이터 입력
  • Splitting : 데이터를 쪼개어 HDFS(Hadoop Distributed File System)에 저장하는 과정
  • Mapping : 입력된 데이터를 키별로 처리
  • Shuffling : 맵 함수의 결과를 취합하기 위해 리듀스 함수로 데이터를 전달하는 과정 (맵 태스크와 리듀스 태스크의 중간 단계)
  • Reducing : 모든 값을 합쳐 원하는 값을 추출

제일 와닿았던 예시

위의 요리 예시를 보면, 맵 태스크에서 각자의 방식으로 음식을 썰고, 리듀스 태스크에서 다시 합하여 원하는 결과를 얻어내게 된다.

 

 

맵 리듀스의 장점

  1. 단순하고 사용이 편리함
  2. 유연성
  3. 저장 구조와 독립적
  4. 확장성

 

맵 리듀스의 단점

  1. 복잡한 연산이 어려움
  2. 기존 DBMS가 제공하는 스키마, 질의 언어, 인덱스 등의 기능을 지원하지 않음
  3. 상대적으로 성능이 낮음
    • ex) 모든 Map 과정이 진행될 때까지 Reduce는 시작될 수 없음. 즉, 맵 리듀스는 병렬화를 수행할 수 없으므로 성능이 낮아질 수밖에 없음

 

 

 

 


 

 

맵리듀스 개념 정리

맵리듀스(MapReduce)란 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작하여 2004년 발표한 소프트웨어 프레임워크입니다. 맵리듀스를 간단하게 설명하자면, 한

songsunbi.tistory.com

 

클러스터 (Cluster)

개념 클러스터(cluster)는 공통의 목표를 위해 작동하는 컴퓨터 또는 애플리케이션들의 그룹이다. 클라우드 네이티브 컴퓨팅의 관점에서, 이 용어는 쿠버네티스에 가장 일반적으로 적용된다. 쿠

glossary.cncf.io

 

 

[하둡] 맵리듀스(MapReduce) 이해하기

맵리듀스는 여러 노드에 태스크를 분배하는 방법으로 각 노드 프로세스 데이터는 가능한 경우, 해당 노드에 저장됩니다. 맵리듀스 태스크는 맵(Map)과 리듀스(Reduce) 총 두단계로 구성됩니다. 간

12bme.tistory.com