분산 데이터 저장 기술 - 분산파일시스템

duri·2024년 2월 8일
0

ADP

목록 보기
9/18

분산 데이터 저장 기술은 1. 분산파일시스템, 2. 클러스터, 3. 데이터베이스, 4. NoSQL로 구분된다. 각각의 기술 모두 알아야 할 게 많은 덩어리다.

어떤 기술이던간에 분산된 데이터를 저장하는 기술은 대용량의 저장공간, 빠른 처리성능, 확장성, 신뢰성, 가용성을 보장해야 한다.

분산 파일 시스템

구글 파일 시스템 GFS

개념 및 특징

  • 구글이 자사 사용 목적으로 개발. 구글의 대규모 클러스터 서비스 플랫폼의 기반
  • 고정된 크기의 chunk를 나누고 각 청크를 여러개로 복제해 청크서버에 분산 저장한다.
  • 청크서버들은 자동으로 데이터를 복사하여 저장하고 주기적으로 상태를 마스터에게 전달한다.
  • 트리구조가 아닌 해시 테이블 구조를 사용해 효과적인 메타데이터 처리를 지원한다.
  • 청크는 마스터에 의해 생성, 삭제될 수 있으며 유일한 식별자에 의해 구분된다.
  • 청크의 크기는 64mb!

설계의 가정

  • 저가형 서버로 구성된 환경으로 서버의 고장이 빈번히 발생할 수 있다고 가정
  • 대부분의 파일은 대용량일것
  • 작업 부하는 주로 연속적으로 많은 데이터를 읽는 연산이거나 임의의 영역에서 적은 데이터를 읽는 연산에서 발생
  • 쓰기는 순차적으로
  • 갱신은 드물게
  • 응답 지연시간을 줄이는 것보다 처리율을 높이는게 중요

구성요소

여러 클라이언트들에 의해 접근되는 하나의 마스터와 청크 서버들로 구성된다.

  • 클라이언트 : 파일에 대한 rw를 요청하는 애플리케이션. posix인터페이스를 지원하지 않음. 여러 클라이언트에서 데이터 추가 연산을 지원하기 위한 인터페이스를 가지고 있음.
  • 마스터 : 단일 마스터 구조로 모든 메타데이터를 메모리상에서 관리. 주기적으로 수집되는 청크서버의 하트비트메시지를 이용하여 재복제, 재분사 등 회복 동작 수행.
  • 청크서버 : 로컬디스크에 청크를 저장관리하면서 클라이언트로부터 청크의 입출력 요청을 처리. 마스터에게 하트비트메시지를 통해 청크서버의 상태 전달

하둡 분산 파일 시스템 HDFS

개념 및 특징

  • 아파치 너치(nutch)의 웹검색 엔진의 파일 시스템으로 개발됨. 구글 파일시스템을 클로닝한 프로젝트.
  • 네임노드(GFS의 마스터), 데이터노드(GFS의 청크서버)로 구성되며, 파일 데이터는 블록 단위로 나뉘어 여러 데이터 노드에 분산 복제 저장됨
  • 순차적 스트리밍 방식으로 파일을 저장
  • 배치작업에 적합
  • 파일은 한번 쓰이면 변경되지 않는다고 가정(2.0이전까지)
  • 데이터 접근 지연시간을 줄이기보다 데이터 처리량을 높이는데 중점

HDFS의 구성요소

하둡 에코시스템에 등장하는 대부분의 기술은 뒤에서 후술된다.

profile
배우는중인 두리

0개의 댓글