# 하둡
- 대용량 데이터를 분산 처리할 수 있는
자반 기반의 오픈 소스 프레임워크.
분산 파일 시스템(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 |