Kim-Baek 개발자 이야기

Hadoop 개념 본문

개발/Hadoop

Hadoop 개념

킴백 개발자 2020. 9. 21. 11:00

Hadoop

 

  • 하둡은 대용량 데이터를 분산 처리할 수 있는 자바 기반의 오픈소스 프레임워크이다.
  • 하둡은 분산 파일 시스템인 HDFS(Hadoop Distributed File System)에 데이터를 저장하고, 분산 처리 시스템인 맵리듀스를 이용해 데이터를 처리한다.

 

하둡은 구글의 논문 GFS(Google File System)과 맵리듀스(MapReduce)를 더그 커팅이 2005년에 구현한 결과물이다.

 

하둡은 오픈소스 프로젝트이므로 소프트웨어 라이센스 비용이 없다.


리눅스 서버면 얼마든지 하둡을 설치해 운영할 수 있고, 저장 용량이 부족하면 필요한 만큼의 리눅스 서버만 추가하면 된다.


데이터의 복제본을 저장하기 때문에 데이터 유실이나 장애가 발생했을 때도 데이터 복구가 가능하다.

기존 RDBMS는 데이터가 저장된 서버에서 데이터를 처리하는 방식이라면, 하둡은 여러대의 서버에서 데이터를 저장하고, 데이터가 저장된 각 서버에서 동시에 데이터를 처리하는 방식이다.

 

 

하둡 에코 시스템

 

  • 하둡은 다양한 서브 프로젝트들을 제공한다. 이러한 서브 프로젝트가 모여 하둡 에코시스템을 구성하였다.
  • 분산 데이터를 저장하는 HDFS 와 분석 데이터를 처리하는 맵리듀스 가 하둡 코어 프로젝트에 해당하고 나머지 프로젝트들은 하둡의 서브 프로젝트이다.

 

 

하둡의 오해

 

  1. 하둡은 RDBMS를 대체하지 않는다.

    • RDBMS와 상호보보완적인 특성을 지닌다.
    • 하둡은 트랜잭션이나 무결성이 반드시 보장되어야 하는 데이터 처리에 적합하지 않다.
    • 하둡은 배치성으로 데이터를 저장하거나 처리하는 데 적합한 시스템으로 구성되어 있기 때문이다.
    • 데이터 무결성이 중요한 데이터는 RDBMS , 배치성으로 데이터를 저장하고 처리할때는 Hadoop
  2. 하둡은 NoSQL이 아니다.

    • 하둡이 NoSQL의 핵심 기능인 데이터베이스 시스템의 역할을 수행하는 것은 아니다.

 

NoSQL은 SQL문을 사용하지 않는 데이터베이스 시스템이다. NoSQL의 데이터베이스는 단순히 키와 값의 쌍으로만 이루어져 있고, 인덱스와 데이터가 분리되어 별도로 운영된다.

 

조인이 없고, 하나의 집합된 형태로 저장한다. 또한 샤딩이라는 기능으로 데이터를 분할해 다른 서버에 나누어 저장한다.

 

하둡의 단점

  • 고가용성(시스템 장애 발생후 정상으로 돌아오는 상태를 분석하는 척도)이다.

 

하둡은 HDFS에 파일을 저장하고 조회하낟. HDFS는 네임노드와 데이터노드로 구성되는데, 네임노드가 HDFS에 저장하는 모든 데이터의 메타 정보를 관리한다.

 

만약 네임노드에 장애가 발생하면 데이터를 더는 HDFS에 저장할 수 없고, 네임노드의 데이터가 유실된다면 기존에 저장된 데이터를 조회할 수 없다.

반응형

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

HDFS (Hadoop Distributed File System)  (0) 2020.09.22
Comments