본문 바로가기
임시 저장소(Temperature)

[Hadoop] 빅데이터 오픈 소스 프레임 워크 하둡이란? | Big data Open source Frame work

by 갈팡이지팡이 2019. 10. 1.

Hadoop 이란?

하둡 소프트웨어 라이브러리는 간단한 프로그래밍 모델을 사용하여 여러대의 컴퓨터 클러스터에서 대규모 데이터 세트를 분산 처리 할 수있게 해주는 프레임워크 이다.
단일 서버에서 수천대의 머신으로 확장 할 수 있도록 설계되었다.
일반적으로 하둡파일시스템(HDFS)과 맵리듀스(MapReduce)프레임워크로 시작되었으나, 여러 데이터저장, 실행엔진, 프로그래밍 및 데이터처리 같은 하둡 생태계 전반을 포함하는 의미로 확장 발전 되었다.

[출처] [빅데이터] 하둡(Hadoop)이란?|작성자 에이콘아카데미

 

하둡 프레임워크는 중요 구성요소

1. 맵리듀스 데이터처리 프레임워크

 - 데이터 처리 및 프로그래밍의 패러다임이라고 표현. 데이터베이스 엔진과 유사하다.

2. 하둡 분산형 파일시스템(Hadoop Distributed Filesystem, HDFS)

 - 하둡 네트워크에 연결된 아무 기기에나 데이터를 밀어 넣는 분산형 파일 시스템 개념. 하지만 여기에도 체계가 있어서 그냥 닥치는 대로 배치하는 것은 아니지만, RDBMS의 고도로 엄격한 저장 인프라에 견줘보면 돼지우리나 다름없다.

 

########################################################

 

하둡(Hadoop)이란 무엇인가?? 

대용량 데이터 처리를 위해 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 오픈 소스 프레임 워크.

구글 파일 시스템(GFS)를 벤치 마킹하여 하둡 분산 파일 시스템

(HDFS:Hadoop Distributed File System)과 맵리듀스(MapReduce)를 구현한 기술.

 

HDFS란 무엇인가?

- Block 단위(기본 64MB)로 대량의 데이터 저장(GB, TB → PB, EB, ZB)

- Block 복제(Fault-tolerant → 각 Block은Datanode에 3개 이상의 복제)

- 단일 Master(확장성 용이 → 4000+ node,balancing)

- No Caching(대량 데이터의 순차읽기를 통한 Processing)

- Customizing API(기본적으로 JAVA, C++, Python 제공)

 

MapReduce Programming

- 구글에서 발표한 병렬 처리 모델 

- 대용량 데이터로부터 Key-Value Mapping을 통해 Reduction을 하는 프로그래밍 모델

- K-V에 대한 커스터마이징을 지원함으로써 유연한 프로그래밍 제공

- Binary 탐색, Hash 알고리즘 적용 등을 통한 빠른 데이터 처리 가능

- 기존의 병렬 처리 모델은 프로세스가 있는 곳으로 데이터를 모아서 처리

- MapReduce는 데이터가 있는 곳으로 프로그램을 배포하여 처리

 

하둡이 빅데이터에 적합한 이유

- 대용량 파일을 저장할 수 있는 분산 파일 시스템을 제공

- 클러스터 구성을 통해 멀티 노드로 부하를 분산시켜 처리

- 장비를 증가시킬수록 성능이 Linear에 가깝게 향상

- 오픈 소스, Intel Core 머신과 리눅스는 저렴


출처: https://jmkjb.tistory.com/entry/HadoopPlatform [StartUp]