일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 하둡
- T-검정
- cross validation
- Python
- DBSCAN
- 분산분석
- 결정계수
- 유사도
- list
- 가설검정
- 분포
- SQL on 하둡
- pca
- 교차검증
- join
- merge
- 병렬 쿼리 시스템
- 다중공선성
- 밀도기반
- 데이터프레임
- pig
- dict
- hive
- 딕셔너리
- p-value
- DataFrame
- Sawzall
- SPLIT
- distribution
- k-means
- Today
- Total
one of a kind scene
4-2 데이터 처리 기술_분산 데이터 저장 기술 part1_분산 파일 시스템 본문
분산 데이터 저장 기술 part1_분산 파일 시스템
분산 파일 시스템
① 구분
• 분산 데이터 저장 기술은 분산 파일 시스템, 클러스터, 데이터베이스, NoSQL로 구분
② 구글 파일 시스템(GFS)
<GFS 개념 및 특징>
• GFS는 구글의 대규모 클러스터 서비스 플랫폼의 기반이 되는 파일 시스템
• 파일을 고정된 크기(64MB) 청크(chunk)들로 나누고, 각 chunk에 대한 여러 개의 복제본과 chunk를 청크서버에 분산ㆍ저장한다.
• GFS에서는 트리 구조가 아닌 해시 테이블 구조 등을 사용함으로써 메모리상에서 보다 효율적인 메타데이터의 처리를 지원
<GFS 설계의 가정>
• chunk는 마스터에 의해 생성/삭제될 수 있으며, 유일한 식별자에 의해 구별
• GFS는 저가형 서버로 구성된 환경으로 서버의 고장이 빈번히 발생할 수 있다고 가정
• 작업부하는 연속적으로 많은 데이터를 읽는 연산 or 임의의 영역에서 적은 데이터를 읽는 연산에서 발생
• 쓰기 연산은 순차적으로 이루어짐
• 낮은 응답 지연시간보다 높은 처리율이 더 중요
<GFS 구성요소>
• GFS는 여러 클라이언트들에 의해 접근되는 하나의 마스터와 청크서버들로 구성됨
⑴ 클라이언트(Client)
• 읽기/쓰기 동작을 요청하는 애플리케이션
⑵ 마스터(Master)
• 단일 마스터 구조
• 파일 시스템의 이름 공간(name space), 파일과 chunk의 매핑 정보, 각 chunk가 저장된 청크 서버들의 위치 정보 등 모든 메타데이터를 메모리상에서 관리
• 주기적으로 수집되는 청크서버의 하트비트(heartbeat) 메시지를 이용하여 chunk들의 상태에 따라 chunk를 재복제하거나 재분산하는 것과 같은 회복동작을 수행
• 마스터에 대한 장애 처리와 회복을 위해 파일시스템 이름 공간과 파일의 chunk 매핑 변경 연산을 로깅하고, 마스터의 상태를 여러 섀도 마스터에 복제
⑶ 청크서버(Chunk Server)
• 로컬 디스크에 chunk를 저장ㆍ관리하면서 클라이언트로부터의 chunk 입출력 요청을 처리
• 하트비트(heartbeat) 메시지를 통해 청크서버의 상태에 대한 정보를 주기적으로 마스터에게 전달