억대 연봉을 위한 인간수업
article thumbnail
Published 2019. 9. 16. 18:26
하둡 이란? CS/DB
반응형

 


하둡이란?
 - 하둡은 2006년 '넛치'라는 검색엔진을 개발하는 과정에서 대용량의 비정형 데이터를 기존의 RDB(관계형 DB) 기술로는 처리가 힘들다는 것을 깨닫고, 새로운 기술을 찾는 중 구글에서 발표한 GFS(google file system)와 MapReduce 관련 논문을 참고하여 개발했다.
 - 이후 아파치 재단의 오픈 소스로 공개 됬다.
 - 하둡은 분산 시스템인 HDFS(Hadoop Distributed Fule System)에 데이터를 저장하고 맵리듀스를 이용해 데이터를 처리한다.
 - 하둡은 하나의 성능 좋은 컴퓨터를 이용하여 데이터를 처리하는 대신, 적당한 성능의 범용 컴퓨터 여러 대를 클러스터화하고, 큰 크기의 데이터를 클러스터에서 병렬로 동시에 처리하여 처리 속도를 높이는 것을 목적으로 하는 분산처리를 위한  오픈소스 프레임워크라고 할 수 있다.
 - 요약하자면 대용량의 비정형 데이터 즉, 빅데이터 처리를 위해 PC 여러대를 클러스터화 한후 분산처리를 하는 프레임 워크라 할 수 있다.
 - 또한 하둡은 클러스터로 여러대 PC를 묶어 사용하므로 하둡은 빅데이터 처리를 위한 가상 디스크공간 이라 할 수 있다.





하둡 용어
1. 맵리듀스
 - 대용량 데이터 처리를 위한 분산 프로그래밍 모델이다.
 - 흩어져 있는 데이터를 수직화 하여 종류 별로 모으고(MAP), Filterfing 과 sorting을 거쳐 데이터를 뽑아(Reduce)분산 처리하는 기술관련 프레임 워크를 의미한다.
 - 맵리듀스는 하둡 파일 시스템(HDFS) 에 저장된 대규모 분산 파일에 대한 로그 분석, 색인, 구축, 검색에 탁월한 능력을 발휘한다.


2. HDFS(하둡 파일 시스템)
 - 대용량 파일을 분산 서버에 저장하고, 저장된 데이터를 빠르게 처리 할 수 있게하는 파일 시스템이다.
 - 네임노드(마스터)와 데이터 노드(슬레이브)로 구현되어 있으며 네임노드는 메타데이터 관리/ 데이터 노드 모니터링/ 블록관리/ 클라이언트 요청접수 의 기능을 수행한다.또한 파일의 속한 모든 블록이 어느 데이터 노드에 있는지 파악한다.
 데이터 노드는 실질적으로 일을 하는 노드로 클라이언트 혹은 네임노드의 요청이 있을때 저장 및 탐색을 하며 저장하고 있는 블록의 목록을 주기적으로 네임노드의 보고한다.

 

 

 

 

하둡 에코 시스템
 - 하둡은 이런 빅데이터를 이용해 연산을 수행할 수 있어야 한다.
 - 맵리듀스와 HDFS이 하둡 코어 프로젝트로 데이터 저장과 분석을 처리한다면, 나머지는 하둡의 서브 프로젝트들이 사용된다.

 - 이런 서브 프로젝트가 상용화 되면서 하둡 에코시스템이 구성되었으며, 하둡 생태계 라고도 표현한다.


 

 

 

 




하둡은 RDBMS, 관계형 DB인가?
 -  RDBMS, 관계형 DB는 데이터를 수집하여 2차원의 테이블로 분류하여 관리한다.

하지만 이건 어느정도 데이터의 크기가 일정할떄의 이야기지, SNS같이 여러 형태, 종류의 비정형 데이터일때에는 이야기가 달라진다. 특히 RDBMS는 데이터의 중복성과 종속성을 제거하기 위해 정규화를 수행하는데, 이러한 동작은 맵리듀스에서 모든 데이터의 정규화가 불가능할 뿐만 아니라, 속도 및 성능 저하가 일어나기 때문에 문제가 된다.

따라서 하둡은 RDBMS가 아니며, NoSQL의 전형으로 여겨진다. 그렇다고 SQL을 사용하지 않는것은 아니기 때문에 완전한 NoSQL DBMS라 할 수도 없다.

 

 

 

 


출저 : https://wikidocs.net/22654
https://over153cm.tistory.com/entry/%EB%A7%B5%EB%A6%AC%EB%93%80%EC%8A%A4MapReduce%EB%9E%80-1
https://www.jobindexworld.com/ko/curation/content/2128

 

Hadoop 관련 Data Engineer는 어떤일을 할까?[얕고 넓은 직무탐방_#12] : 경력직은 잡인덱스

오늘은 Hadoop관련 Open Source 기반 시스템 Architecture 설계, 구축, 운영 업무를 하는 Data Engineer 업무에 대해 살펴보겠습니다.그럼 먼저 하둡이 무엇인지 알아야겠죠? 하둡은 간단하게 말해보자면 대용량 데이터를 분…

www.jobindexworld.com

 

맵리듀스(MapReduce)란? -1-

맵리듀스(MapReduce)란? : 대용량 데이터를 처리를 위한 분산 프로그래밍 모델 - 구글에서 2004년 발표한 소프트웨어 프레임워크 - 타고난 병행성(병렬 처리 지원)을 내포 - 누구든지 임의로 활용할 수 있는 충분..

over153cm.tistory.com

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 

반응형

'CS > DB' 카테고리의 다른 글

SQL - DML 쿼리문 사용법  (0) 2019.10.29
DB[데이터 베이스] 란?  (0) 2019.09.16
Mesos 란 무엇인가  (0) 2019.09.02
KAFKA 란?  (0) 2019.09.02
profile

억대 연봉을 위한 인간수업

@회뜨는참치

이 글이 당신에게 조금이라도 도움이 된다면 좋겠습니다.