Kim-Baek 개발자 이야기

HDFS (Hadoop Distributed File System) 본문

개발/Hadoop

HDFS (Hadoop Distributed File System)

데이터 개발자 2020. 9. 22. 10:00

HDFS

 

  • HDFS(Hadoop Distributed File System)는 수십 테라바이트 또는 페타파이트 이상의 대용량 파일을 분산된 서버에 저장하고, 많은 클라이언트가 저장된 데이터를 빠르게 처리할 수 있게 설계된 파일 시스템이다.
  • HDFS를 이용하면 수십 혹은 수백 대의 웹 서버급 서버를 묶어서 하나의 스토리지처럼 사용할 수 있다. 즉 기존 대용량 파일 시스템과의 차이점은 저사양 서버를 이요해 스토리지를 구성할 수 있다.
  • 물리적으로 분산된 서버 디스크에 저장된 데이터들은 HDFS에서 제공하는 API를 이용하여 파일의 읽기 및 저장과 같은 제어가 가능하다.
  • 은행이나 전자상거래처럼 트랜잭션이 중요한 경우는 HDFS가 적합하지 않으며, 대규모 데이터를 저장하거나 배치로 처리하는 경우 유용하다.

 

HDFS의 네 가지 목표

 

  1. 장애 복구

    • HDFS는 분산 서버에 장애가 발생하면 빠르게 처리할 수 있도록 처리하였다. HDFS에 데이터를 저장하면 복제 데이터도 함께 저장하여 데이터 유실을 방지하고, 분산 서버 간의 주기적인 상태 체크로 빠르게 장애를 인지하고 처리한다.

 

  1. 스트리밍 방식의 데이터 접근

    • HDFS는 클라이언트의 요청을 빠른 시간 내에 처리하는 것보다는 동일한 시간 내에 더 많은 데이터를 처리하는 것이 목표이다. HDFS는 랜덤 접근 방식 대신 스트리밍 방식으로 데이터에 접근하도록 설계하였다. 그래서 클라이언트는 끊김 없는 연속된 데이터에 접근가능하다.
  2. 대용량 데이터 저장

    • HDFS는 하나의 파일일 테라바이트 이상의 크기도 저장가능하다.
  3. 데이터 무결성

    • 데이터베이스에 저장되는 데이터의 일관성을 의미하는 것이 데이터 무결성이다. 즉, 데이터의 입력이나 변경 등을 제한해 데이터의 안저엉을 저해하는 요소들을 막는다.
반응형

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

Hadoop 개념  (0) 2020.09.21
Comments