MapReduce
MapReduce란?
MapReduce는 클러스터에 저장된 대량의 데이터를 처리하기 위해 병렬로 실행되는 애플리케이션을 작성하는 프로그래밍 모델로, 빅 데이터에 널리 사용되는 데이터 분석 엔진인 Hadoop에서 실행됩니다.
탄력적인 유연성
MapReduce는 다른 모델보다 훨씬 느리지만, 유연성이 뛰어나 빠르게 확장하거나 더 많은 컴퓨터 노드를 할당하여 컴퓨팅 시간을 단축할 수 있다는 것이 주요 장점입니다. MapReduce는 데이터 자체를 이동하는 대신 데이터 근처에서 프로세스를 실행할 수 있는 기능과 분산 파일 시스템 덕분에 수천 개의 노드에 걸쳐 확장할 수 있습니다. 확장성은 증가하는 데이터 볼륨을 저장하고 처리하는 비용을 줄여줍니다.
병렬 처리
MapReduce 사용 시 병렬화, 데이터 배포 또는 기타 복잡한 코딩 작업을 위한 코드가 이미 모델에 내장되어 있어 개발자가 이를 새로 작성할 필요가 없습니다. 이것만으로도 분석을 위한 프로그래밍 시간이 단축됩니다.
구조화되지 않은 데이터 지원
생성된 데이터의 대부분(80%)이 구조화되지 않은 데이터이기 때문에 MapReduce가 모든 유형의 데이터 구조를 지원할 수 있다는 점은 엔터프라이즈가 데이터를 훨씬 더 효과적으로 분석하는 데 도움이 됩니다.
내결함성
MapReduce는 여러 컴퓨터와 서버에 데이터를 분산시켜 운영하기 때문에 시스템 중단을 유발하는 하드웨어 장애에 덜 취약합니다. MapReduce는 전체 데이터 세트를 네트워크의 각 노드로 전송하며, 한 노드나 하드웨어 일부에 장애가 발생할 경우 모든 데이터가 자동으로 저장되고 복구됩니다.
MapReduce 작동 방식
MapReduce가 작동하는 방식은 세 단계로 나눌 수 있으며, 네 번째 단계는 옵션입니다.
- 맵퍼: 이 첫 번째 단계에서는 조건부 논리가 모든 노드의 데이터를 키와 값의 쌍으로 필터링합니다. “키”는 각 레코드의 오프셋 주소를 가리키며 “값”은 모든 레코드 내용을 포함합니다.
- 셔플: 두 번째 단계를 진행하는 동안 매핑의 출력 값이 정렬되고 통합됩니다. 값은 유사한 키에 따라 그룹화되며 중복된 값은 폐기됩니다. 셔플 단계 출력도 키와 값의 쌍으로 배열되지만, 이때의 값은 하나의 레코드에 있는 내용이 아닌 범위를 나타냅니다.
- 리듀서: 세 번째 단계에서는 통합된 셔플 단계의 출력이 집계되고 모든 값이 해당 키에 추가됩니다. 그런 다음 단일 출력 디렉토리로 결합됩니다.
- 컴바이너: 이 단계를 실행하면 MapReduce 작업 성능을 최적화하여 작업 흐름을 더 빠르게 만들 수 있습니다. 이는 맵퍼 출력을 이용하여 노드 수준에서 중복을 검사하여 수행되며, 단일 키와 값 쌍으로 결합되어 셔플 단계가 완료해야 하는 작업을 줄입니다.
이러한 단계가 완료되는 방법과 관련하여 아키텍처는 맵퍼 및 리듀서 작업을 실행하고 실패한 작업을 모니터링하고 재실행하는 두 가지 데몬 서비스(리소스 관리자 및 노드 관리자)로 구성됩니다. 또한 이 두 가지 기능은 모든 MapReduce 작업의 병렬 처리 및 내결함성 구성 요소를 관리합니다.
이에 더해 구조를 따라 리소스 관리 및 스케줄링/모니터링 기능은 각 애플리케이션의 글로벌 리소스 관리자와 애플리케이션 마스터라는 서로 다른 데몬으로 구분됩니다.
작업이 시작되면 리소스 관리자는 실행 중인 모든 애플리케이션의 클러스터 리소스 할당을 조정합니다. 애플리케이션 마스터 및 노드 관리자와 함께 작동하여 작업에 사용할 수 있는 노드를 결정합니다. 그런 다음 애플리케이션 마스터와 노드 관리자가 조정합니다. 노드 관리자는 작업을 완료하기 위해 컴퓨팅 컨테이너를 실제로 시작하고 모니터링하는 사람입니다.
기업이 MapReduce를 사용하는 방식
데이터 처리 시장이 성숙해짐에 따라 MapReduce의 시장 점유율은 1% 미만으로 떨어졌습니다. 그럼에도 불구하고, 미국에서 여전히 1,500개에 달하는 회사가 사용하고 있으며, 다른 나라에서도 일정 정도 사용되고 있습니다.
MapReduce는 대체적으로 컴퓨터 소프트웨어와 IT 서비스 산업에서 사용됩니다. 그 밖에 금융 서비스, 병원 및 의료, 고등 교육, 소매, 보험, 통신 및 은행업이 있습니다. 다음은 몇 가지 사용 사례입니다.
- 금융 서비스: 소매 은행은 Hadoop 시스템을 사용하여 데이터 정확성과 품질을 검증하여 연방 규정을 준수합니다.
- 의료: 한 의료 IT 회사에서는 Hadoop 시스템을 이용하여 수년간의 클레임을 보관하고 데이터를 전송하고 있습니다. 매일 테라바이트의 데이터를 처리하고 추가적인 분석을 목적으로 저장합니다. 또 다른 병원 시스템은 환자에게 부착된 센서에서 지속적으로 스트리밍되는 수십억 개의 데이터 포인트를 수집하여 환자의 바이탈을 모니터링합니다.
- IT 서비스: 한 주요 IT 서비스 제공업체는 고객의 사이트에 구축된 스토리지 시스템에서 진단 데이터를 수집합니다. 구조화되지 않은 로그와 시스템 진단 정보에서 MapReduce를 실행하는 Hadoop 시스템을 사용합니다.
- 연구: 인간 게놈 프로젝트에 대한 지속적인 연구에서 Hadoop MapReduce를 사용하여 대량의 데이터를 처리합니다. 그리고 한 유명한 가족 유전학 연구 제공자는 출생, 사망, 인구 조사 결과, 군대 및 이민 기록에 대한 구조화된 데이터 및 구조화되지 않은 데이터를 포함하여 계속해서 증가하는 수많은 페타바이트에 달하는 유전자 시퀀싱 데이터를 점점 더 많이 실행하고 있습니다.
- 소매: 선도적인 온라인 마켓플레이스에서는 MapReduce를 사용하여 대량의 로그 데이터를 분석하여 고객의 행동은 물론 검색 추천 사항 등을 파악합니다. 또한 한 유명 백화점은 Hadoop 시스템을 통해 마케팅 캠페인 데이터를 실행하여 개별 고객에게 꼭 맞는 캠페인을 제공할 수 있는 인사이트를 얻고 있습니다.
- 통신: 주요 통신 업체에서는 고객이 실시간으로 이용하는 수십억 개의 통화 기록(수백 테라바이트의 데이터에 해당)을 저장하고 있습니다.
HPE가 MapReduce를 지원하는 방식
HPE는 MapReduce를 실행하는 Hadoop 시스템 관리에 필요한 시간, 비용, 인력 리소스를 절약하는 데 도움이 되는 여러 솔루션을 제공합니다.
예를 들어, HPE Pointnext Services는 빅 데이터 분석 환경의 계획, 설계, 통합과 관련된 조언은 물론 기술을 지원합니다. Hadoop 및 MapReduce의 설계와 구현 작업을 간소화하여 분석적인 인사이트를 찾아 정보에 입각한 비즈니스 의사 결정을 내리는 데 집중할 수 있도록 돕습니다.
또한 HPE GreenLake는 전체 Hadoop 라이프 사이클을 획기적으로 간소화하는 확장형 솔루션을 제공합니다. 이 솔루션은 대칭 및 비대칭 환경 모두에 필요한 하드웨어와 소프트웨어에 더해 지원이 포함된 엔드 투 엔드 솔루션입니다. HPE만의 가격 책정과 청구 방법을 사용하면 기존의 Hadoop 비용을 쉽게 이해하고 솔루션에 들어갈 향후 비용을 더 정확하게 예측할 수 있습니다.
HPE는 Hadoop 환경을 지원해 온 다년간의 고객 참여 경험을 바탕으로 테스트를 거쳐 바로 구현할 수 있는 엔터프라이즈 등급의 Hadoop 솔루션을 두 가지 버전으로 제공합니다. HPE Insight Cluster Management Utility로 보완된 두 가지 솔루션을 통해 IT I&O 리더는 신속하게 인프라를 프로비저닝, 관리, 모니터링하고 Hadoop 구현을 선택할 수 있습니다. HPE 엔터프라이즈 등급의 Hadoop 표준 버전 솔루션은 HPE GreenLake 솔루션에서 지원됩니다.