(하둡 기초) ep01_하둡(Hadoop)의 역사와 특징
데이터 시대
2013, 2014년 기준으로 뉴욕증권거래소에서는 하루 4.5테라바이트의 데이터가 발생
페이스북은 2,400억개의 사진을 보유, 매달 7페타바이트 증가하는 등 우리는 데이터 시대에 살아가고 있다.
개인이 만들어내는 데이터의 족적도 계속 증가하고, 사물인터넷의 일부인 기계에서 생산되는 데이터의 양도
매우 방대하다. 공개 데이터의 크기 또한 매년 증가하고 있는데, 조직은 더 이상 자신의 데이터만 관리해서는 안되고, 미래의 성공은 다른 조직의 데이터에서 가치를 추출하는 능력에 달려있다.
저장소와 분석의 문제
디스크의 용량에 비해 데이터를 읽는 속도는 그에 미치지 못했다. 단일 디스크의 데이터를 읽는 데 너무 많은 시간이 걸리고, 심지어 쓰는 것은 더 느리다. 이에 시간을 줄이기 위한 방법으로 여러 개의 디스크에서 동시에 데이터를 읽는 방식이 출현했다. 100개의 디스크에서 각 디스크 별로 100분의 1씩 데이터가 있으며 병렬적으로 작업 시 그 속도는 매우 빨라질 것이다. 디스크에 100분의 1만 활용, 사용하는 것은 물론 낭비이다. 하지만 1테라바이트의 데이터셋 100개를 디스크에 나눠 저장하고 서로 공유가 가능하다면 이야기가 달라진다. 이러한 병렬, 분산처리시스템은 사용자에게 매우 빠른 분석을 지원하고 고르게 분산되어 서로 큰 방해도 없을 것이다.
하둡(Hadoop)이란?
대용량의 데이터를 분산처리 할 수 있는 자바 기반의 오픈 소스 프레임워크.하나의 대형 컴퓨터를 활용하여 데이터를 수집, 처리하는 대신, 하둡 서버가 설치된 다른 상용 하드웨어와 함께 클러스터링 하여 대규모의 데이터 세트를 병렬적으로 분석할 수 있다.
(* 하둡에 관한 구성과 원리는 다음 글에서 자세히 다룬다.)
하둡은 분산처리, 분산저장의 결합이다.
기본적으로 하둡은 HDFS와 MapReduce, 두 프레임워크로 구성되어있고,이에 하둡의 활용성을 높여 주는 서브 프로젝트들의 모임을 하둡 에코시스템이라고 한다.
(하둡완벽설치!)ep02_하둡에코시스템(Hadoop EcoSystem)
하둡의 역사에 대해 궁금하다면?! developer-woong.tistory.com/6 (하둡완벽설치!) ep01_하둡(Hadoop)의 역사, 등장 배경 데이터 시대 2013, 2014년 기준으로 뉴욕증권거래소에서는 하루 4.5테라바이트의 데이터
developer-woong.tistory.com
하둡의 특징:
선형적 확장(Scale out): 기존의 시스템의 용량이 부족하면 용량을 늘리는 것이 아닌 노드를 더 추가함으로서 용량 부족문제를 해결한다.
오픈 소스 기반이다.
HDFS(Hadoop Distributed FileSystem):
분산 파일처리시스템이란 전체 데이터셋을 여러 대의 머신에서 나누어 저장하는 방식으로
하둡에서는 HDFS라는 분산 파일처리시스템을 제공한다.
(하둡가이드) ep03_하둡 분산 처리 파일시스템(HDFS:Hadoop Distributed FileSystem)
하둡의 주요 구성 중 핵심 프레임워크 중 하나인 HDFS에 대해 알아본다. 하둡이란? developer-woong.tistory.com/7 (하둡완벽설치!)ep02_하둡에코시스템(Hadoop EcoSystem) 하둡의 역사에 대해 궁금하다면?! devel..
developer-woong.tistory.com
분산저장
하둡 파일시스템(HDFS)을 이용, 파일을 적당한 블록 사이즈로 나눈 후 각 노드(각각의 컴퓨터)에 저장한다.하물며, 데이터의 유실, 부하 방지를 위해 각 블록의 복사본을 만든다.
분산처리
MapReduce라는 프레임워크를 활용, map함수에서 데이터 처리, reduce함수에서 원하는 결과를 추출한다.
MapReduce란?
developer-woong.tistory.com/10
(하둡 기초) ep04_ MapReduce 맵리듀스란?
하둡 분산 파일시스템(HDFS)와 함께 핵심 구성 요소인 MapReduce에 관해 알아본다. 하둡이란? developer-woong.tistory.com/7 (하둡완벽설치!)ep02_하둡에코시스템(Hadoop EcoSystem) 하둡의 역사에 대해 궁금하다..
developer-woong.tistory.com
장애 허용 시스템(Fault-toleran):
하나 이상의 컴퓨터가 고장나는 경우에도 시스템이 정상 동작
RDBMS와 맵리듀스 비교:
RDBMS | 맵리듀스 | |
데이터 크기 | 기가바이트 | 페타바이트 |
접근 방식 | 대화형과 일괄 처리 방식 | 일괄 처리 방식 |
변경 | 여러 번 읽고 쓰기 | 한 번 쓰고 여러 번 읽기 |
트랜잭션 | ACID | 없음 |
구조 | 쓰기 기준 스키마 | 읽기 기준 스키마 |
무결성 | 높음 | 낮음 |
확장성 | 비선형 | 선형 |
아파치 하둡의 역사
아파치 루씬(Apache Lucene, 텍스트 검색 라이브러리)의 창시자인 더그 커팅(Doug Cutting)이 개발하였고,
하둡은 루씬 프로젝트의 일환으로 개발된 오픈 소스 웹 검색 엔진인 아파치 너치(Apache Nutch)의 하부 프로젝트로 시작했다. (하둡이라는 이름은 약어가 아닌 조어, 하둡 프로젝트의 창시자인 더그 커팅의 아이가 봉제 인형인 노란 코끼리에 지어준 이름이라 한다.) 너치 프로젝트는 2002년에 시작되었고 크롤러와 검색 시스템이 금방 만들어졌지만, 그들이 가지고 있는 아키텍처는 수십억 웹 페이지로 확장할 수 없었다. 2003년 구글에서 실제로 운영되는 GFS라는 구글 분산 파일시스템의 아키텍처 논문이 발표되고, 이는 매우 큰 파일에 대한 저장소 문제를 해결할 수 있었다. 이에 2004년 NDFS(Nutch Distributed FileSystem)라는 너치 분산 파일시스템을 오픈 소스로 구현하는 작업에 들어간다.
같은 해, 구글은 맵리듀스를 소개하는 논문을 발표하였고 2005년 너치 개발자들은 너치 내부에 맵리듀스를 구현하며 2006년, NDFS와 맵리듀스는 하둡이라는 이름으로 너치에서 독립하여 분리되었다. 비슷한 시기에 더그 커팅은 야후에 합류하였고 야후는 10,000개의 코어를 가진 하둡 클러스터에서 검색 색인을 만들었다는 사실을 2008년 발표하였다.
뉴욕타임즈는 웹 서비스를 위해 아마존 EC2 컴퓨트 클라우드에서 신문에서 스캔한 4TB의 분량의 문서를 PDF로 변환하였고, 처리 작업에 100대의 컴퓨터, 24시간이 조금 덜 걸렸다. 이는 짧은 시간에 많은 컴퓨터를 집중적으로 사용할 수 있는 아마존의 시간 기준 지불(pay-by-the-hour)모델과 하둡의 편리한 병렬 프로그래밍 모델이 조합되어 가능한 결과였다.
하둡은 개발 성공과 다양성 및 활발한 커뮤니티의 공로를 인정받아 아파치의 최상위 프로젝트로 등극하였으며, 이 시기에 야후를 비롯, Last.tm, 페이스북, 뉴욕타임즈와 같은 수 많은 회사에서 실제로 사용되고 있다.
2008년 4월, 하둡은 테라바이트 데이터 정렬 세계 신기록을 세운 가장 빠른 시스템이 되었고 오늘날 하둡은 주요 기업에서 널리 사용되고 있으며, 빅데이터를 위한 범용 저장소 및 분석 플랫폼으로 업계에서 인정받고있다.
[하둡의 창시자, 더그 커팅]
[참고1] Hadoop The Dfinitive Guide (하둡 완벽가이드 4판) - 톰 화이트 지음, 장형석, 장정호, 임상배, 김훈동 옮김
[참고2]wikidocs.net/22654
[참고3]eehoeskrap.tistory.com/219
[참고4]rachelsdotcom.tistory.com/75
[참고5]www.incodom.kr/%ED%95%98%EB%91%A1
감사합니다!!