하둡(Hadoop)은 대용량 데이터의 활용·처리를 돕는 자바(Java) 소프트웨어 프레임워크(Software Framework). 소프트웨어 프레임워크란 일종의 공장처럼 소프트웨어의 설계 등의 과정에서 공통적인 부분을 제공해 시간과 비용을 절약해주는 시스템. 하둡은 여러 대의 컴퓨터로 이루어진 클러스터(Cluster)에서 동작하는 분산 응용 프로그램을 지원해 빅데이터(Big Data)라 불리는 대용량 데이터의 처리를 돕는다.
하둡은 미국의 프로그래머 더그 커팅(Doug Cutting)이 2005년 개발한 것. 딸이 가지고 놀던 장난감 코끼리의 이름에서 따온 것. 하둡의 로고는 노란색 코끼리.
하둡 일반(Hadoop Common)과 하둡 분산 파일 시스템(HDFS, Hadoop Distributed File System), 하둡 맵리듀스(Hadoop MapReduce) 등으로 구성되어 있다. 하둡 일반은 하둡의 다른 하위 프로젝트에서 공통으로 사용되는 유틸리티를 포함하고 있으며, 하둡 분산 파일 시스템은 여러 장비에 대용량 파일을 나눠서 저장한다. 데이터를 여러 서버에 저장하므로 안정적이며, 서로 다른 하드웨어와 소프트웨어 플랫폼들을 묶어도 쉽게 호환할 수 있다. 하둡 맵리듀스는 분산된 서버의 CPU 자원 등을 사용해 저장된 데이터를 빠르게 분석하는 플랫폼이다.
저렴한 비용으로 방대한 데이터를 분석할 수 있어 기업에서 주로 사용한다. 용량은 크지만 중요하지 않은 정보가 많은 빅데이터 분석에 들어가는 초기 비용을 줄일 수 있고 기존 시스템과 쉽게 호환되기 때문이다. 페이스북의 경우 하둡을 사용해 대용량 사진 데이터를 작게 쪼개어 처리하는 방식으로 업로드한 사진을 실시간으로 감상할 수 있다.
하둡의 부족한 기능을 보완하는 오픈소스 프로젝트들도 등장하고 있는데 이런 서브 프로젝트들을 묶어 하둡 에코시스템(Hadoop Ecosystem)이라 부른다.
[참고] http://100.daum.net/encyclopedia/view/47XXXXXXd252
[참고]
[빅데이터] 하둡 분산처리시스템 구성요소
맵리듀스 (MapReduce)
맵(Map)과 리듀스(Reduce)라는 두 가지 단계로 데이터를 처리한다. 맵(Map)은 입력 파일을 한 줄씩 읽어서 데이터를 변형(transformation)하며, 리듀스(Reduce)는 맵의 결과 데이터를 집계(aggregation)한다.
[참고] http://hading.tistory.com/109
NoSQL 데이터베이스는 전통적인 관계형 데이터베이스 보다 덜 제한적인 일관성 모델을 이용하는 데이터의 저장 및 검색에 사용. 디자인의 단순화, 수평적 확장성, 세세한 통제가 주목적
SQL 계열 쿼리 언어를 사용할 수 있어서 "Not only SQL"로도 부름
[참고] https://ko.m.wikipedia.org/wiki/NoSQL
'R 데이터 분석' 카테고리의 다른 글
[SKK_DA1] SQL : sqldf in R 연습 (0) | 2017.05.18 |
---|---|
[SKK_DA1] 빅데이터 :: 문제풀이 설명 일부 (0) | 2017.05.18 |
[SKK_DA1] scrpts plus (0) | 2017.05.15 |
R 분석 : 다이아몬드 (0) | 2017.02.08 |
R분석 : 데이터 수집 예제 (0) | 2017.02.08 |