핵심 인사이트 (3줄 요약)

  1. 본질: 하둡 분산 파일 시스템(HDFS)은 100TB짜리 초거대 빅데이터를 하나의 비싼 슈퍼컴퓨터에 저장하는 대신, 128MB 단위의 레고 블록(Block)으로 잘게 쪼개어 수천 대의 싸구려 컴퓨터(DataNode)에 흩뿌려 저장하는 분산 스토리지 아키텍처다.
  2. 가치: 싸구려 컴퓨터는 고장이 잘 난다는 치명적 약점을 극복하기 위해, 똑같은 블록을 무조건 3벌씩 복사해 두는 '3벌 복제(3-Way Replication)'와, 노드가 고장 나면 1초 만에 다른 노드의 복사본을 땡겨오는 '자동 복구' 메커니즘으로 무결성(Fault Tolerance)을 100% 달성했다.
  3. 판단 포인트: 똑같은 블록 3개를 같은 서버랙(Rack)에 넣어두면 랙 스위치에 불이 났을 때 데이터가 다 날아가므로, HDFS는 반드시 2개는 같은 랙에, 나머지 1개는 아예 다른 랙에 저장하는 랙 인지(Rack Awareness) 알고리즘을 강제하여 데이터 유실 확률을 0에 수렴하게 만든다.

Ⅰ. 개요 및 필요성

구글이 전 세계의 웹페이지를 수집했더니 데이터가 페타바이트(PB) 단위로 폭발했다. 기존의 오라클(Oracle)이나 엔터프라이즈 스토리지로는 턱도 없었고, 수십억 원짜리 슈퍼컴퓨터를 사기엔 구글도 돈이 없었다. "차라리 용산에서 파는 100만 원짜리 싸구려 컴퓨터(Commodity Hardware) 1만 대를 랜선으로 엮어서 1대의 슈퍼컴퓨터처럼 쓰면 어떨까?"

문제는 싸구려 컴퓨터는 하드디스크 고장률이 매우 높다는 것이다. 매일 컴퓨터 10대가 고장 나는데, 그 안에 들어있던 데이터가 영원히 날아가면 안 된다. 그래서 고안된 것이 **"데이터를 잘게 쪼개서 여기저기 뿌리고, 고장 날 것을 대비해 똑같은 걸 3개씩 복사해 두자!"**는 더그 커팅(Doug Cutting)의 철학, 바로 **하둡 HDFS(Hadoop Distributed File System)**다.

📢 섹션 요약 비유: 100억 원짜리 거대한 금고 1개를 사는 대신, 1만 원짜리 플라스틱 돼지저금통 1만 개를 사서 돈을 쪼개 넣는 것이다. 저금통은 잘 부서지니까, 만약의 사태를 대비해 돈을 복사해서 똑같은 저금통 3군데에 분산시켜 두는 절대 털리지 않는 은행 시스템이다.


Ⅱ. 아키텍처 및 핵심 원리

HDFS는 우두머리 1대와 부하 수천 대로 이루어진 완벽한 마스터-슬레이브(Master-Slave) 아키텍처다.

┌────────────────────────────────────────────────────────┐
│             [ HDFS의 분산 저장 및 3벌 복제 파이프라인 ]         │
├────────────────────────────────────────────────────────┤
│ 1. NameNode (우두머리, Master)                          │
│    - 자기는 데이터를 안 가짐. "어떤 데이터가 몇 번 컴퓨터에 있는지"│
│      라는 주소록(Metadata, Namespace)만 RAM에 쥐고 있음. │
│                                                        │
│ 2. DataNode (부하, Slave)                               │
│    - 실제 데이터가 128MB짜리 블록(Block)으로 쪼개져서 저장됨    │
│    - 3초마다 NameNode에게 "저 살아있어요!"(Heartbeat) 신호 보냄 │
│                                                        │
│ 3. 3-Way Replication (3벌 복제) 룰                       │
│    - 원본 데이터가 들어오면 무조건 3개의 똑같은 블록이 생성됨     │
│    - 1번 블록: 내 컴퓨터(Local Node)에 저장                │
│    - 2번 블록: 나랑 같은 랙(Rack)에 있는 다른 컴퓨터에 저장     │
│    - 3번 블록: 아예 다른 랙(Remote Rack)에 있는 컴퓨터에 저장   │
└────────────────────────────────────────────────────────┘
  1. 블록 크기 128MB의 철학: 일반 PC의 하드디스크 블록은 4KB다. HDFS가 128MB로 어마어마하게 뚱뚱한 이유는, 하드디스크의 핀이 데이터를 찾으러 이동하는 시간(Seek Time)을 줄이고 덩어리째 쭉쭉 읽어 들이는 전송 시간(Transfer Time)에 올인하기 위해서다. (빅데이터는 찔끔찔끔 안 읽고 한 번에 TB 단위를 스캔해야 하기 때문)
  2. 랙 인지 (Rack Awareness): 만약 블록 3개를 전부 'A동네(같은 랙)' 컴퓨터들에 몰아넣었다고 치자. A동네에 불이 나거나 인터넷 스위치가 고장 나면 3개가 통째로 타버린다. 그래서 네임노드는 무조건 마지막 3번째 블록은 'B동네(다른 랙)'의 컴퓨터로 멀리 보내버려 물리적 재난을 완벽하게 방어한다.

📢 섹션 요약 비유: 왕(NameNode)은 보물 지도만 가지고 있고, 수만 명의 병사(DataNode)들이 보물을 나눠서 들고 있다. 병사 하나가 절벽에서 떨어지면(하드 고장), 왕은 지도를 보고 "저 병사랑 똑같은 보물을 가진 다른 병사 나와라!" 해서 보물을 다시 복제해 내는 불사신 군대다.


Ⅲ. 비교 및 연결

데이터를 다루는 3대 파일 시스템 아키텍처의 패러다임을 비교해 본다.

비교 항목RDBMS (오라클, MySQL)NAS / SAN (기업용 스토리지)HDFS (하둡 분산 파일 시스템)
저장 사상완벽한 테이블 구조 (정형)파일 서버 공유 (네트워크)거대한 파일을 128MB 블록으로 박살 냄
하드웨어최고급 하이엔드 서버 (Scale-up)값비싼 전용 스토리지 장비용산 조립 PC 수천 대 (Scale-out)
수정/삭제실시간 Update, Delete 완벽 지원자유롭게 파일 덮어쓰기 가능한 번 쓰면 수정 불가 (WORM, Read-Only)
최적 활용처은행 계좌이체 (트랜잭션)사내 문서 및 미디어 공유수백 테라바이트의 로그, 센서 데이터 분석

HDFS는 WORM(Write Once Read Many) 철학을 가진다. 100TB짜리 로그 파일을 한 번 쾅! 하고 저장해 둔 뒤, 수천 대의 컴퓨터가 동시에 달라붙어서(MapReduce) 데이터를 읽어내는 '배치 처리(Batch Processing)'에 극단적으로 최적화된 아키텍처다.

📢 섹션 요약 비유: RDBMS가 한 글자 틀리면 화이트로 지우고 다시 예쁘게 쓰는 다이어리라면, HDFS는 한 번 글씨를 파버리면 절대 지우거나 고칠 수 없는 거대한 고대 이집트의 석판이다. 대신 한 번 파놓으면 수만 명이 동시에 달려들어 글씨를 읽어낼 수 있다.


Ⅳ. 실무 적용 및 기술사 판단

실무 적용 시나리오: 통신사에서 하루에 10TB씩 쏟아지는 고객 스마트폰 접속 로그를 분석해야 한다. 데이터 과학자는 이 로그를 오라클 DB에 넣는 것을 포기하고, 하둡 클러스터 100대로 구성된 HDFS에 들이붓는다. 파일이 128MB 단위로 수만 개로 쪼개져 100대의 노드에 흩뿌려진다. 밤에 분석을 돌리는데, 노드 3대에서 삐빅거리며 디스크 배드섹터 에러(고장)가 발생했다. 하지만 NameNode는 0.1초 만에 랙 인지 알고리즘으로 타 랙에 백업된 블록들을 찾아내 새로운 노드로 복사 복구(Self-healing)를 마친다. 분석 작업(MapReduce)은 단 1초의 중단도 없이 무사히 결과를 뱉어낸다.

기술사 판단 포인트 (Trade-off): 빅데이터 플랫폼 아키텍처 설계 시 기술사는 **'NameNode의 단일 장애점(SPOF)'**을 가장 먼저 방어해야 한다.

  1. DataNode는 수만 대라 몇 대 죽어도 3벌 복제 덕에 끄떡없다. 하지만 주소록을 들고 있는 대장인 NameNode가 죽으면 HDFS 전체가 깡통이 된다 (SPOF).
  2. 따라서 기술사는 반드시 NameNode를 두 대 준비하여, 평소에 일하는 Active NameNode와 뒤에서 주소록을 실시간으로 베껴 적고 있는 Standby NameNode의 2중화(HA, High Availability) 파이프라인을 묶어야 한다.
  3. 또한 데이터 블록이 128MB인데, 1KB짜리 자잘한 파일 1억 개를 넣으면 블록 개수만 1억 개가 되어 NameNode의 메모리(RAM)가 펑 터져버리는 'Small File Problem'이 발생한다. 기술사는 자잘한 파일들을 압축 포맷(Parquet, SequenceFile)으로 크게 합쳐서 적재하도록 강제해야 한다.

📢 섹션 요약 비유: 수만 명의 병사(DataNode)가 불사신이라도, 작전을 지시하는 장군(NameNode)이 암살당하면 군대는 끝이다. 장군 옆에 항상 판박이 부장군(Standby)을 세워두고, 장군이 쓰러지는 즉시 부장군이 마이크를 잡고 명령을 이어가게 하는 완벽한 지휘 계통 설계다.


Ⅴ. 기대효과 및 결론

하둡 HDFS는 "빅데이터를 저장하려면 비싼 슈퍼컴퓨터가 필요하다"는 전 세계 IT 업계의 고정관념을 '비용 효율성(Cost-effective)'과 '분산 복제'라는 무기로 박살 낸 21세기 오픈소스 진영의 위대한 상징이다.

결론적으로 HDFS의 블록 쪼개기와 3벌 복제 철학은, 오늘날 클라우드 생태계를 지배하는 아마존 S3와 구글 GCS 등 모든 오브젝트 스토리지(Object Storage)의 설계 사상에 고스란히 녹아들어 있다. 기술사는 딥러닝과 실시간 처리에 밀려 하둡이 한물갔다고 평가절하할 것이 아니라, 거대 데이터를 분산시키고 고장(Fault)을 상수로 인정하며 시스템을 굴려 나가는 이 '결함 허용(Fault Tolerance) 아키텍처'의 본질을 완벽하게 체화해야 한다.

📢 섹션 요약 비유: 옛날엔 비바람에 무너지지 않는 거대한 통뼈 건물을 지으려고 수백억을 썼다. HDFS는 "건물은 어차피 무너진다"고 인정하고, 레고 블록 수만 개로 텐트를 친 뒤 바람에 날아가면 주머니에 숨겨둔 똑같은 레고(복제본)를 꺼내 1초 만에 다시 조립하는 세상에서 가장 가성비 좋은 건축술이다.

📌 관련 개념 맵

  • 상위 개념: 빅데이터 플랫폼 (Big Data Platform), 분산 파일 시스템
  • 하위 개념: NameNode, DataNode, 블록 (128MB), 3벌 복제 (3-Way Replication)
  • 연결 개념: 맵리듀스 (MapReduce), 랙 인지 (Rack Awareness), SPOF (단일 장애점)

👶 어린이를 위한 3줄 비유 설명

  1. 10만 조각짜리 엄청나게 큰 레고 성(빅데이터)을 한 번에 옮길 수가 없어요.
  2. 하둡은 이 성을 100개의 덩어리로 부순 다음(블록 쪼개기), 친구들 100명에게 하나씩 나눠서 들고 가라고 시켰어요.
  3. 가다가 친구 한 명이 넘어져서 레고가 부서질까 봐, 똑같은 레고 덩어리를 무조건 3명씩 복사해서 들게 했어요(3벌 복제). 이제 넘어져도 끄떡없답니다!