HDFS란?(HDFS의 주요 특징)

Alan·2023년 3월 4일
0

HDFS의 주요 특징

  • Hardware Failure

    • 분산 서버로 구성된 HDFS에는 여러 장애가 나타날 수 있음

    • 하드웨어, 네트워크, 디스크 등

    • HDFS는 분산 서버 사이에서 주기적인 health check를 통해 이런 장애를 빠르게 감지하고 대처할 수 있게 설계됨

  • Streaming Data Access

    • HDFS는 클라이언트의 요청을 빠르게 처리하는 것보다 동일한 시간 내에 더 많은 데이터를 처리하는 것을 목표로 한다.

    • 따라서, Random Access를 고려하지 않으며, Batch처리에 더 맞게 디자인 되어 있음

    • 구체적으로는 Random Access대신 Streaming방식으로 데이터에 접근함

  • Large Data Sets

    • HDFS는 하나의 파일이 GB ~ TB 수준의 데이터 크기로 저장될 수 있게 설계됨

    • 높은 데이터 전송 대역폭(bandwidth)를 지원하며, 하나의 클러스터에서 수백대의 노드를 구성할 수 있음

    • 하나의 인스턴스에는 수백 만개 이상의 파일을 지원

  • Simple Coherency Model

    • 데이터 무결성이란 데이터의 입력이나 변경을 제한해서 데이터의 안정성을 깨는 동작을 막는 것을 의미

    • HDFS는 write-once-read-many access model을 따름

    • 즉, HDFS에 한번 저장된 데이터는 수정할 수 없고, 읽기만 가능하게 하여 무결성을 지킴

    • 데이터 수정은 불가능 하지만 파일의 이동, 삭제, 복사 및 append는 지원

    • 이러한 방식은 데이터 접근에 대한 높은 throughput을 가능하게 함. 특히 MapReduce에서 큰 장점을 발휘

  • Moving Computation is Cheaper than Moving Data

    • 데이터를 이용해 computing processing을 한다면, 데이터가 processor와 가까울 수록 효율이 좋음

    • 즉, Network 혼잡을 줄이고 시스템 전체의 throughput을 높임

    • HDFS는 이것을 위해 Data를 이동시키는 것이 아닌, computing 자원을 data가 있는 위치로 이동시키는 것을 선택함.

  • Portability Across Heterogeneous Hardware and Software Platforms

    • HDFS는 쉽게 HW/SW 플랫폼을 옮길 수 있도록 디자인 됨

    • 인텔, AMD 칩이 설치된 하드웨어에서 동일하게 동작

    • HDFS 코드가 Java로 구현되어 있어 OS와 독립적으로 동작

0개의 댓글