본문 바로가기

나 취준생/리눅스

하둡

320x100

# 하둡

 

- 대용량 데이터를 분산 처리할 수 있는

자반 기반의 오픈 소스 프레임워크.

분산 파일 시스템(HDFS)에 데이터를 저장하고,

분산 처리 시스템인 맵 리듀스를 이용해 데이터를 처리한다.

 

자바로 만들어졌으나 자바를 몰라도 하둡의 데이터를 쉽게 다룰 수 있도록

NoSQL로 만들어져 SQL 구문으로 다룰 수 있다.

 

장점 : 무료이며, 분산 처리가 가능하다. -> 여러 컴퓨터의 자원을 이용해서 데이터를 처리하기 때문에 매우 빠름

 

# NoSQL (Not Only SQL)

 

전통적인 RDBMS와 다른 DBMS를 지칭하기 위한 용어

데이터 저장에 고정된 테이블 스키마가 필요하지 않다.

 

제품 ex) Hive, Mongo DB, Pig

 

# 하둡의 배경

 

구글에서 구글에 쌓여지는 수많은 빅데이터를

구글에서도 처음에는 RDBMS(오라클)에 입력하고 저장하려고 시도했으나

너무 데이터가 많아서 실패하고, 자체적으로 빅데이터를 저장할 기술을 개발, 발표

그 기술을 갖고 더그 커팅이 만든 것이 하둡

 

# 데이터의 종류

 

1. 정형화 데이터 : RDBMS에 저장되는 테이블 형태의 데이터

2. 반정형화 데이터 : 웹 로그, SNS 데이터, HTML, Json

3. 비정형화 데이터 : 텍스트, 동영상, 이미지

 

# 제품

 

RDBMS

- Oracle, mssql, mysql, maria DB, PostgreSQL

 

비RDBMS

- 하둡, 스칼라

 

# 하둡 사용 예시

 

2008년 뉴욕 타임즈는 130년 분량의 신문기사 1100만 페이지를

하둡을 이용해서 하루만에 pdf로 변환

이 때 든 비용은 단 200만원

만약 하둡이 아닌 일반서버로 처리했다면 14년이 걸렸을 것으로 예상했다.

 

# 하둡 생태계 시스템

 

빅데이터 분석    Python, R

       

빅데이터 저장    HBase MongoDB Cassandra CouchDB

       

분산 처리 지원   Hive Pig Sqoop Zookeeper

       

분산 배치 처리   하둡 - MapReduce

        ↑

분산 파일 관리   하둡 - HDFS

 

# 하둡의 단점

 

무료이다 보니, 유지보수가 어려운 부분

기존 데이터에 append는 가능하지만 update는 불가능하다.

update 대신 파일을 직접 열어서 수정해야 한다.

네임 노드가 다운되면 고가용성이 지원이 안 된다.

네임 노드 : 연결된 여러 노드들 중 메타 데이터를 저장하고 있는 노드

ex) 만약 5번 노드에 a.csv 파일이 있다면, a.csv가 5번 노드에 있다는 정보를 담고 있는 노드

     이게 없어지면, a.csv파일을 불러올 수 없게 된다.

 

# Oracle과 비교

 

회사의 중요하며 실시간 정보 처리를 해야하는 데이터 -> Oracle

과거부터 쌓인 대용량 데이터 -> DW 서버

 

# 하둡의 주요 배포판

 

리눅스도 centos, redhat, ubunt가 있는 것처럼 하둡도 배포판이 있다.

1. Cloudera에서 나온 CDH

2. Hortonworks에서 나온 HDP

3. 아마존에서 나온 EMR

4. Hstreaming에서 나온 Hsteraming

 

 

 

반응형

'나 취준생 > 리눅스' 카테고리의 다른 글

hive  (0) 2021.01.08
리눅스 현재 디렉토리로 복사할 때 팁  (0) 2021.01.07
리눅스 IF문, For문  (0) 2021.01.06
리눅스 프로세서 상태 명령어  (0) 2021.01.05
리눅스 디스크 관리 명령어  (0) 2021.01.05