기존에도 DAS, NAS, SAN과 같은 대용량 파일시스템이 있었으며, HDFS 또한 이러한 대용량 파일 시스템과 유사하다.
가장 큰 차이점은 저사양 서버를 이용해 스토리지를 구성할 수 있다는 것이다.
HDFS 을 이용하면 수백대의 저사양 웹서버급 서버를 하나의 스토리지처럼 사용할 수 있다.
HDFS에 저장하는 데이터는 물리적으로는 분산된 서버의 로컬 디스크에 저장되어 있지만 파일의 읽기/저장과 같은 제어는 HDFS 에서 제공하는 API 를
이용해서 처리 된다.
HDFS 가 기존의 대용량 파일 시스템을 완전히 대체하는 것은 아니다.
DBMS처럼 고성능, 고가용성이 필요한 경우에는 SAN 을
안정적인 파일 저장이 필요한 경우에는 NAS 를 사용한다.
또한 전자상거래처럼 트랜잭션이 중요한 경우는 HDFS이 적합하지 않으며, 대규모 데이터를 저장하거나 배치러 처리를 하는 경우에 HDFS 을 이용한다.
HDFS은 다음과 같은 네 가지 목표를 가지고 설계 되었다.
1. 장애복구
- HDFS은 장애를 빠른 시간에 감지하고, 대처할 수 있게 설계 되어 있다. HDFS은 데이터를 저장하면, 복제 데이터도 함께 저장해서 데이터 유실을
방지한다. 또한 분산 서버 간 주기적인 상태 체크를 통해 장애를 인지하고 대처할 수 있게 도와 준다.
2. 스트리밍 방식의 데이터 접근
- HDFS 은 기존 파일 시스템들과 달리 배치 작업에 적합하도록 설계 되어 있고, 낮은 데이터 접근 지연 시간보다는 높은 데이터 처리량에 중점을 둔다.
3. 대용량 데이터 저장
- HDFS은 하나의 파일이 GB, TB 이상의 사이즈로 저장될 수 있게 설계 되었다. 또한 하나의 인스턴스에는 수백만 개 이상의 파일을 지원한다.
4. 데이터 무결성
- HDFS 은 한번 저장한 데이터는 더는 수정할 수 없고, 읽기만 가능하게 해서 데이터 무결성을 유지한다.
- 하둡 2.0 알파버전 부터는 HDFS 에 저장된 파일에 append 가 제공 된다.
'IT > 하둡' 카테고리의 다른 글
HDFS(Hadoop Distributed File System) 아키텍처 (0) | 2014.03.05 |
---|---|
Hadoop Test (STS + Maven) (0) | 2014.03.04 |
Haddop 설치 (0) | 2014.03.04 |
Hadoop Echosystem (0) | 2014.03.04 |
Hadoop(하둡) (0) | 2014.03.04 |