본문 바로가기
데이터 엔지니어( 실습 정리 )/hadoop

1. 하둡과의 만남 ( 하둡 기초 )

by 세용용용용 2025. 9. 2.

[ "하둡 완벽 가이드 4판" ] 공부한 후 정리한 내용 입니다

 

1. 하둡과의 만남


1) 데이터

저자의 말이 참 공감된다...

 

  • 좋은 소식: 빅데이터는 우리 주변에 널려 있다.
  • 나쁜 소식: 그것을 "저장하고 분석하는 일은 매우 어렵다"는 것.

 

 

 

2) 데이터 저장소와 분석

  • 디스크 용량은 테라바이트(TB) 단위지만, 전송 속도는 초당 100MB 수준 → 단일 디스크만으로는 한계 존재
  • 따라서 데이터를 여러 개 디스크에 분산 저장 후 병렬로 처리하면 분석 속도를 크게 높일 수 있다.

하지만 여기엔 여러 "문제점"이 따름..

 

1. 하드웨어 장애

  • 장비가 많아질수록 장애 확률 증가 > 이를 해결 위해 데이터 복제 수행 ( 장애 대비, RAID 개념 )

2. 데이터 정합성 문제

  • 디스크에 흩어진 데이터 합쳐야됨.. 이 과정에서 데이터 일관성을 유지하는 것은 어려움
  • 데이터 정합성(Data Consistency) : 데이터가 서로 모순 없이 일관성을 유지하는 상태

 

 

 

3) 전체 데이터에 질의 - 맵리듀스

  • MapReduce는 전체 데이터셋을 대상 비정형 쿼리를 수행하여 합리적인 시간 안에 결과를 보여줌
  • 데이터를 한곳에 모아 분석하는 것이 아닌, 분산된 데이터를 병렬로 처리하는 방식으로 통찰력 얻음

 

 

 

4) 일괄처리를 넘어서

  • 맵리듀스는 일괄 처리(batch processing) 시스템 → 즉시 응답(수초 이내 결과)은 어려움.
  • 하지만 하둡은 이미 이를 넘어 다양한 프로젝트(하둡 에코시스템)로 진화 중.
  • 하둡 에코시스템 = 분산 컴퓨팅, 대규모 데이터 처리를 위한 기반 시설

 

 

 

5) 타 시스템과 비교

- RDB VS 하둡

  • 일부 데이터만 수정 → B-트리 구조(RDB) 유리
  • 데이터 대부분을 변경 → 전체를 새로 정리하는 MapReduce 방식(하둡)이 효율적

 

- 예시( ex... )

  1. 탐색 위주
    •  책의 색인을 보고 바로 찾아가는 것 = B-트리
  2. 일부 데이터 수정
    •  사원 명단에서 두 명만 고침 → RDB 구조가 적합
  3. 대부분 데이터 변경
    •  사원 명단 대부분 변경 시 → MapReduce가 더 효율적

 

- RDB 와 하둡의 구조적 차이

  • 정형 데이터 → RDBMS가 강점
  • 반정형·비정형 데이터 → 하둡이 강점 (처리 시점에 데이터를 해석하도록 설계)
  • RDB: 무결성 유지, 중복 제거를 위해 정규화 필요
  • 하둡: 비지역 연산을 기반으로 전체 데이터를 여러 노드에서 동시에 읽음 → 정규화된 데이터 처리에 비효율적

★ 핵심: 하둡은 순차적 읽기/쓰기 성능을 극대화한 구조


 

 

 

5.1) 확장성

  • 맵리듀스 및 하둡 처리 모델은 데이터 크기에 따라 선형 확장
  • 데이터 크기 ↑ → 작업 시간 선형 증가
  • 하지만 클러스터 노드 수를 늘리면 병렬처리로 더 빠른 처리 가능
  • 반면, 일반적인 RDB는 선형 확장이 어렵다.

 

 

 

5.2) 그리드 컴퓨팅과 하둡

  • 그리드 컴퓨팅: 여러 컴퓨터를 연결해 하나처럼 사용하는 방식
  • 하둡의 특징: 데이터를 계산 노드와 함께 배치 (데이터 지역성) >> 네트워크 병목을 줄여 성능 향상

 

- 또한 하둡은 자동 장애 복구 기능을 갖춤

  • 실패한 태스크를 자동 감지 → 정상 노드에 재배치
  • 맵리듀스는 비공유 아키텍처라 가능
    • 맵 출력이 존재한다면 리듀서만 재실행
    • 맵 출력이 없거나 접근 불가라면 맵도 재실행

 

 

 

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