티스토리 뷰

개발 노트/Hadoop

HDFS Architecture and Design (v0.14)

오리지날초이 2013. 12. 20. 09:20

1. Introduction


HDFS 는 상용 하드웨어에서 동작하도록 디자인됨

HDFS 는 어플리케이션 데이터에 high throughput access 를 제공하고 large data sets 를 가진 어플리케이션에 적합하다

원래 Apache Nutch Web Search Enging 프로젝트에서 시작되어 Apache Lucene Project 로 파생되어 나왔음


2. Assumptions and Goals


2-1. Hardware Failure

중요한 건 수많은 HDFS 컴퍼넌트사이에서 발생하는 장애는 개연성을 가지고 있기 때문에 사소하게 지나치면 안된다는 것이다.

이 말인 즉슨 HDFS 의 몇몇 컴포넌트들은 항상 오동작하고 있을 수도 있다(?)

따라서 fault 를 찾고, 빨리, 자동으로 복구시키는게 HDFS 의 코어 아키텍쳐이다


2-2 Streaming Data Access


HDFS 에서 동작하는 어플리케이션은 스트리밍 엑세스가 필요하다

HDFS 에서 운용될 어플리케이션은 전통적이고 일반적인 목적은 아니고, user ineractive 한 프로그램보다 배치성 프로그램이 더 적합하다

이를 위해선 low latency 보단 high througput 이 더 중요하고 POSIX 와 달리 이 부분을 trade off 했다


2-3 Large Data Sets


HDFS 는 large files 을 서포트하기 위한 용도로 쓰이며 

당연히 high aggregate data bandwidth 와 scale to hundreds of nodes in a single cluster 가 제공되어야 한다.

tens of millions of files in a gingle instance 를 지원하게 될 것이다.


2-4 Simple Coherency(일관성) Model


핵심은 Write-once-read-many access model for files

맵리듀스 어플리케이션이나 웹 클롤러가 이 모델에 퍼펙트하게 적합하다

차후에 appending-writes to files 을 지원할 계획이 있다

(이미 구현되었다. 몇 버전인지 모르겠지만..)


2-5 Moving Computation is Cheaper than Moving Data


2-6 Portability Across Heterogeneous(이기종의) Hardware and Software Platforms


HDFS has been designed to be easily portable from one platform to another.

덕분에 빅데이터 플랫폼으로 써 HDFS 가 널리 쓰일 수 있게 됬다.


728x90
반응형

'개발 노트 > Hadoop' 카테고리의 다른 글

copyMerge  (0) 2014.09.18
Balancer Java Code(상세)  (0) 2013.12.11
Hadoop Upgrade Guide for v.0.14  (0) 2013.12.06
Balancer  (0) 2013.12.05
운영상의 이슈  (0) 2013.11.14
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
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
글 보관함