본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Distributed File System

분산 파일시스템(Distributed File System, DFS)은 네트워크로 연결된 여러 대의 컴퓨터(서버)의 저장 공간을 하나의 파일 시스템처럼 쓸 수 있게 하는 파일 시스템이다. 사용자는 파일이 실제로 어느 서버에 있는지 몰라도 하나의 서버를 쓰듯 파일을 읽고 쓴다.

큰 파일을 일정한 크기의 블록으로 나누어 여러 노드에 흩어 저장하고, 같은 블록을 여러 노드에 복제해 두어 일부 서버가 고장 나도 데이터를 잃지 않는다. 한 대의 저장 장치로는 감당할 수 없는 대규모 데이터를 값싼 범용 서버 여러 대로 저장·처리하려고 고안되었다.

  • 투명성: 파일의 실제 위치와 복제 여부를 사용자가 의식하지 않는다.
  • 확장성: 서버를 추가하는 스케일 아웃으로 용량과 처리량을 늘린다.
  • 내결함성: 블록 복제로 노드 장애를 견딘다.
  • 병렬 처리: 여러 노드가 데이터를 나누어 동시에 읽고 쓰므로 한 저장 장치에 입출력이 몰리는 병목을 줄인다.
  • 구글 파일 시스템(GFS): 구글이 대규모 데이터 처리를 위해 만든 분산 파일시스템
  • 하둡 분산 파일 시스템(HDFS): GFS 를 본떠 만든 하둡의 파일 시스템. 마스터 노드인 네임노드가 메타데이터를 관리하고, 슬레이브 노드인 데이터노드가 블록을 저장한다

혼동하기 쉬운 개념

편집 원본 편집
구분 무엇인가
분산 파일시스템 여러 서버에 파일을 나누어 저장하는 파일 시스템(GFS, HDFS)
NoSQL 관계형 모델이 아닌 데이터베이스(키-값, 문서, 컬럼 패밀리, 그래프). 파일 시스템이 아니다
분산 데이터베이스 여러 사이트에 나뉜 데이터를 하나의 데이터베이스처럼 관리하는 DBMS
  • "하나의 컴퓨팅 자원을 여러 시스템에 연결해 병목이 생긴다" 는 분산 파일시스템의 설명이 아니다. 분산 파일시스템은 반대로 여러 컴퓨팅 자원을 묶어 하나처럼 쓴다.
  • 분산 파일시스템은 소규모 데이터가 아니라 대규모 데이터를 관리하기 위한 것이다.
  • 마스터 노드: 슬레이브 노드 관리
  • 슬레이브 노드: 실제 데이터 저장