맵리듀스 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
[[파일:맵리듀스 로고.png|썸네일|200픽셀|'''맵리듀스'''(MapReduce)]]
+
'''맵리듀스'''(MapReduce)는 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작하여 2004년 발표한 소프트웨어 프레임워크이다.
[[파일:맵리듀스 글자.png|썸네일|300픽셀|'''맵리듀스'''(MapReduce)]]
 
 
 
[[파일:구글 글자.png|썸네일|300픽셀|'''[[구글]]'''(Google)]]
 
 
 
'''맵리듀스'''<!--맵 리듀스-->(MapReduce)<!--Map Reduce-->'''[[구글]]'''(Google)에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작하여 2004년 발표한 소프트웨어 [[프레임워크]]이다.
 
  
 
== 개요 ==
 
== 개요 ==
맵리듀스(MapReduce)는 2004년 구글에서 대용량 데이터를 분산처리하기 위해 발표한 대용량 분산 처리 프레임워크이다. 이 프레임워크는 테라바이트 또는 페타바이트 이상의 대용량 데이터를 저렴한 x86 서버를 클러스터링해 분산 처리한다. 맵리듀스에서 데이터를 처리하는 기본 단위는 매퍼(Mapper)와 리듀스(Reduce)다. 많은 양의 데이터를 맵리듀스 형태로 작성하면, 클러스터링 환경에서 효과적으로 분산 처리할 수 있다. 맵리듀스의 핵심은 입력과 출력이며, Key와 Value로 구성된다. 맵(Map)은 산재된 데이터를 키와 밸류 형태로 연관성이 있는 데이터로 묶는 작업을 하며, 리듀스는 맵 작업 결과에서 중복 데이터를 제거한 후 원하는 데이터를 추출하는 작업을 수행한다.<ref name='mapreduce_main'>디비가이드넷,〈[http://www.dbguide.net/db.db?cmd=view&boardUid=187336&boardConfigUid=9&categoryUid=216&boardIdx=158&boardStep=1 맵리듀스]〉</ref>
+
 맵리듀스(MapReduce)는 2004년 구글에서 대용량 데이터를 분산처리하기 위해 발표한 대용량 분산 처리 프레임워크이다. 이 프레임워크는 테라바이트 또는 페타바이트 이상의 대용량 데이터를 저렴한 x86 서버를 클러스터링해 분산 처리한다. 맵리듀스에서 데이터를 처리하는 기본 단위는 매퍼(Mapper)와 리듀스(Reduce)다. 많은 양의 데이터를 맵리듀스 형태로 작성하면, 클러스터링 환경에서 효과적으로 분산 처리할 수 있다. 맵리듀스의 핵심은 입력과 출력이며, Key와 Value로 구성된다. 맵(Map)은 산재된 데이터를 키와 밸류 형태로 연관성이 있는 데이터로 묶는 작업을 하며, 리듀스는 맵 작업 결과에서 중복 데이터를 제거한 후 원하는 데이터를 추출하는 작업을 수행한다.
 
+
== 절차 ==
== 알고리즘 ==
 
 
맵리듀스의 논리적 데이터 처리 절차는 다음과 같다.
 
맵리듀스의 논리적 데이터 처리 절차는 다음과 같다.
 
* 1단계
 
* 1단계
16번째 줄: 10번째 줄:
 
:1단계 작업이 완료되면, 분석 대상 값만을 추출한다. 추출된 분석 대상 데이터를 키-밸류 형태로 정렬해 Reduce에게 보낸다. 전송된 데이터는 Reduce 함수의 입력 값으로 사용된다.
 
:1단계 작업이 완료되면, 분석 대상 값만을 추출한다. 추출된 분석 대상 데이터를 키-밸류 형태로 정렬해 Reduce에게 보낸다. 전송된 데이터는 Reduce 함수의 입력 값으로 사용된다.
 
* 3단계
 
* 3단계
:Reduce 함수로 2단계에서 받은 입력값을 분석해 원하는 값을 구하는 단계다. 다시 말하면, Map은 산재된 입력 데이터를 원하는 형태의 데이터와 묶어주는 작업을 통해 Repository 데이터 형태를 띄게 된다. 이 단계에서는 리듀스를 통해 (중복된 값을 제거해) 원하는 데이터만 추출하는 작업을 진행한다.<ref name='mapreduce_main'></ref>
+
:Reduce 함수로 2단계에서 받은 입력값을 분석해 원하는 값을 구하는 단계다. 다시 말하면, Map은 산재된 입력 데이터를 원하는 형태의 데이터와 묶어주는 작업을 통해 Repository 데이터 형태를 띄게 된다. 이 단계에서는 리듀스를 통해 (중복된 값을 제거해) 원하는 데이터만 추출하는 작업을 진행한다.
  
== 장단점 ==
+
== 특징 ==
'''장점'''<br>
 
* 단순하고 사용이 편리하다
 
* 특정 데이터 모델이나 스키마, 질의에 의존적이지 않은 유연성이 있다.
 
* 저장 구조의 독립성이 있다.
 
* 데이터 복제에 기반한 내구성과 재수행을 통한 내고장성을 확보한다.
 
* 높은 확장성을 가지고 있다.
 
'''단점'''<br>
 
* 단일 데이터 흐름이 고정적이다.
 
* 기존 DBMS보다 스키마와 질의가 불편하다.
 
* 스케줄링이 단순하다.
 
* DBMS와 비교하여 상대적으로 성능이 낮다.
 
* 개발도구의 불편함과 기술지원에 있어서 어려움이 있다.<ref name='mapreduce_main2'>SungWook Kang,〈[https://blog.naver.com/jevida/140199795866 맵리듀스 개념]〉, 2013-10-28</ref>
 
  
 
{{각주}}
 
{{각주}}
  
 
== 참고자료 ==
 
== 참고자료 ==
* 디비가이드넷,〈[http://www.dbguide.net/db.db?cmd=view&boardUid=187336&boardConfigUid=9&categoryUid=216&boardIdx=158&boardStep=1 맵리듀스]〉
+
*  
* SungWook Kang,〈[https://blog.naver.com/jevida/140199795866 맵리듀스 개념]〉, 2013-10-28
 
  
 
== 같이 보기 ==
 
== 같이 보기 ==
* [[구글]]
+
*
* [[빅데이터]]
 
  
{{솔루션|검토 필요}}
+
{{프로그래밍|검토 필요}}

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)