데이터 엔지니어( 실습 정리 )/hadoop
1. 하둡과의 만남 ( 하둡 기초 )
세용용용용
2025. 9. 2. 17:59

[ "하둡 완벽 가이드 4판" ] 공부한 후 정리한 내용 입니다
1. 하둡과의 만남
1) 데이터
저자의 말이 참 공감된다...
- 좋은 소식: 빅데이터는 우리 주변에 널려 있다.
- 나쁜 소식: 그것을 "저장하고 분석하는 일은 매우 어렵다"는 것.
2) 데이터 저장소와 분석
- 디스크 용량은 테라바이트(TB) 단위지만, 전송 속도는 초당 100MB 수준 → 단일 디스크만으로는 한계 존재
- 따라서 데이터를 여러 개 디스크에 분산 저장 후 병렬로 처리하면 분석 속도를 크게 높일 수 있다.
하지만 여기엔 여러 "문제점"이 따름..
1. 하드웨어 장애
- 장비가 많아질수록 장애 확률 증가 > 이를 해결 위해 데이터 복제 수행 ( 장애 대비, RAID 개념 )
2. 데이터 정합성 문제
- 디스크에 흩어진 데이터 합쳐야됨.. 이 과정에서 데이터 일관성을 유지하는 것은 어려움
- 데이터 정합성(Data Consistency) : 데이터가 서로 모순 없이 일관성을 유지하는 상태
3) 전체 데이터에 질의 - 맵리듀스
- MapReduce는 전체 데이터셋을 대상 비정형 쿼리를 수행하여 합리적인 시간 안에 결과를 보여줌
- 데이터를 한곳에 모아 분석하는 것이 아닌, 분산된 데이터를 병렬로 처리하는 방식으로 통찰력 얻음
4) 일괄처리를 넘어서
- 맵리듀스는 일괄 처리(batch processing) 시스템 → 즉시 응답(수초 이내 결과)은 어려움.
- 하지만 하둡은 이미 이를 넘어 다양한 프로젝트(하둡 에코시스템)로 진화 중.
- 하둡 에코시스템 = 분산 컴퓨팅, 대규모 데이터 처리를 위한 기반 시설
5) 타 시스템과 비교
- RDB VS 하둡
- 일부 데이터만 수정 → B-트리 구조(RDB) 유리
- 데이터 대부분을 변경 → 전체를 새로 정리하는 MapReduce 방식(하둡)이 효율적
- 예시( ex... )
- 탐색 위주
- 책의 색인을 보고 바로 찾아가는 것 = B-트리
- 일부 데이터 수정
- 사원 명단에서 두 명만 고침 → RDB 구조가 적합
- 대부분 데이터 변경
- 사원 명단 대부분 변경 시 → MapReduce가 더 효율적
- RDB 와 하둡의 구조적 차이
- 정형 데이터 → RDBMS가 강점
- 반정형·비정형 데이터 → 하둡이 강점 (처리 시점에 데이터를 해석하도록 설계)
- RDB: 무결성 유지, 중복 제거를 위해 정규화 필요
- 하둡: 비지역 연산을 기반으로 전체 데이터를 여러 노드에서 동시에 읽음 → 정규화된 데이터 처리에 비효율적
★ 핵심: 하둡은 순차적 읽기/쓰기 성능을 극대화한 구조
5.1) 확장성
- 맵리듀스 및 하둡 처리 모델은 데이터 크기에 따라 선형 확장
- 데이터 크기 ↑ → 작업 시간 선형 증가
- 하지만 클러스터 노드 수를 늘리면 병렬처리로 더 빠른 처리 가능
- 반면, 일반적인 RDB는 선형 확장이 어렵다.
5.2) 그리드 컴퓨팅과 하둡
- 그리드 컴퓨팅: 여러 컴퓨터를 연결해 하나처럼 사용하는 방식
- 하둡의 특징: 데이터를 계산 노드와 함께 배치 (데이터 지역성) >> 네트워크 병목을 줄여 성능 향상
- 또한 하둡은 자동 장애 복구 기능을 갖춤
- 실패한 태스크를 자동 감지 → 정상 노드에 재배치
- 맵리듀스는 비공유 아키텍처라 가능
- 맵 출력이 존재한다면 리듀서만 재실행
- 맵 출력이 없거나 접근 불가라면 맵도 재실행

1. 하둡은 저장+분석을 동시에 고려한 분산 컴퓨팅 플랫폼
2. RDB vs 하둡: 목적과 데이터 형태에 따라 강점이 다름
3. 핵심 철학: 장애 허용, 데이터 지역성, 선형 확장성
4. 하둡 에코시스템은 단순 맵리듀스를 넘어 다양한 "분산 처리 프레임워크"로 발전 중