하둡 프로그래밍(1) – 빅데이터

Last Updated on 5월 10, 2021 by 태랑(정현호)

1. 빅데이터란

2012년 가트너 그룹은 주목해야 할 IT 기술로 빅데이터 를 선정, IDC 는 2012년이 빅데이터의 해가 될 것 이라고 하였습니다. 그 이후로도 빅데이터 그리고 관련된 기술에 대해서 트랜드가 될 것이다 라던지 향후 유망기술로 매해 ,매번 언급이 되어져 왔고 지금도 계속 중요한 IT 기술중 하나 입니다.



빅데이터라는 것을 무엇이라고 명확하게 정의하기는 어려우며 사전적 정의는 단순하게 많은 량의 데이터를 의미 하며 정의의 범주가 확대되어 대용량의 정형화된 데이터 및 비정형된 일상의 데이터(정보)를 포함한 거대하고 큰 데이터의 집합을 의미 한다 라고 할 수 있을 것 같습니다.

그리고 유명한 두곳에서는 아래와 같이 정의를 하고 있습니다.

• 데이터 규모에 초점을 맞춘 정의
   – 기존 데이터베이스 관리도구의 데이터 수집, 저장, 관리, 분석하는 역량을 넘어서는 데이터
   – 맥킨지 2011년 5월

• 업무 수행 방식에 초점을 맞춘 정의
   – 다양한 종류의 대규모 데이터로 부터 저렴한 비용으로 가치를 추출
   – 데이터의 빠른 수집 과 발굴 분석을 지원하도록 고안된 기술 및 아키텍처 
   – IDC 2011년 6월


2. 빅데이터의 3대 요소


빅데이터의 3대 요소(3V) 란 크기(Volume), 속도(Velocity), 다양성(Variety) 을 의미 하여 각 요소는 다음과 같은 특징이 있습니다.


• 크기(Volume) 

빅데이터는 기존 파일 시스템에 저장하기 어려울뿐더러 데이터 분석을 위해 사용하는 기존 데이터웨어하우스(DW) 같은 솔루션에서 소화하기 어려울 정도로 데이터량이 증가하고 있습니다. 이러한 문제를 해결 하기 위해서는 확장 가능한 방식으로 데이터를 저장하고 분석하는 분산 컴퓨팅 기법이 필요하여 솔루션으로는 구글의 GFS 와 아파치 하둡 등이 있습니다.


• 속도(Velocity)

오늘날 디지털 데이터는 매우 빠른 속도로 생성되기 때문에 데이터의 생산,저장, 유통 수집, 분석이 실시간으로 처리돼야 합니다. 물론 모든 데이터가 실시간 처리만으로 요구 되는 것은 아니나 수집된 대량의 데이터를 다양한 분석 기법과 표현으로 분석해야 하고 장기적이고 전략적인 차원에서 접근할 필요가 있으며 통계학과 전산학에서 사용되던 데이터 마이닝, 기계 학습, 자연어 처리, 패턴 인식 등이 기법에 해당 합니다.


• 다양성(Variety)

데이터의 종류에 따라서 정형(Structured), 반정형(Semi-Structured), 비정형(Unstructured) 으로 나눌 수 있습니다.
비정형 데이터란 고정된 필드에 저장돼 있지 않은 데이터를 의미 합니다. 유튜브 등에서 업로드하는 동영상 데이터, 페이스북이나 트위터 같은 SNS나 블로그에서 저장하는 사진과 오디오 나 영상, 메신저로 주고 받는 대화 내용, 위치 정보 등 다양한 비정형 데이터가 존재하며 빅데이터는 이러한 비정형 데이터도 처리할 수 있는 기능이 있다고 할 수 있습니다.


3. 빅데이터의 출현 배경

우리는 데이터 폭증의 시대에 살고 있습니다 최근 몇년간 생산된 데이터가 인류가 지금까지 생상한 데이터 보다 많을 정도로 한해에 생산되는 데이터는 시간이 지날수록 기하급수로 늘어 나고 있습니다.

빅데이터가 왜 중요한 것일까요? 빅데이터는 기업, 정부, 의료, 금융, 교육 등의 다양한 분야에서 그 가치가 입증되고 있습니다. 빅데이터를 적극적으로 활용하는 여러 다수의 기업에서 비즈니스 적인 성과가 개선이 된 사례는 많이 있습니다. 그외 의료 분야의 도입에 따른 질병 예측 시스템을 구현하거나 유전자 분석의 시간을 줄이거나 하는 등의 여러 과정에서 사용될 수 있으며, 국가 차원에서도 안보, 교육, 정책 등에 사용을 위해서 빅데이터에 대한 R&D 등을 추진하고 있습니다.

이렇듯이 이제는 빅데이터가 아주 다양한 곳에서 다양한 방식으로 사용되고 있으며 필수적으로 빅데이터를 활용한 데이터 분석, AI,딥러닝,머신러닝 등에서 활용되고 있습니다.


4. 하둡이란

빅데이터에 대한 신문 기사와 기술 보고서를 보면 하둡(Hadoop)이 꼭 함께 소개되고 있습니다. 하둡은 대용량 데이터를 분산 처리할 수 있는 자바 기반의 오픈소스 프레임워크입니다.

하둡은 구글이 논문으로 발표한 GFS(Google File System) 과 맵리듀스(Map Reduce)를 2005년에 더그 커팅(Doug Cutting)이 구현한 결과물 입니다. 처음에는 오픈소스 검색 엔진인 너치(Nutch)에 적용하기 위해 시작했다가 이후 독립적인 프로젝트로 만들어졌고, 2008년도에 Apache 재단의 최상위 프로젝트로 승격되었습니다. 

하둡(Hadoop)은 분산 파일 시스템인 HDFS(Hadoop Distributed File System)에 데이터를 저장하고 분산 처리 시스템인 맵리듀스를 이용해 데이터를 처리 하게 됩니다.


하둡(Hadoop) 이라는 이름은 더그 커팅의 아들이 노란색 코끼리 장난감 인형을 하둡이라고 부르는 것을 듣고 지은 이름 입니다. 그래서 하둡의 로고는 노란색 코끼리가 사용되는 것 입니다. 또한 이러한 프로젝트 명명 규칙 관련해서 이후 하둡 관련 서브 프로젝트도 모두 동물 과 관련된 이름을 사용하게 됩니다.


5. 왜 하둡인가

그렇다면 왜 하둡이 빅데이터에서 가장 주목을 받게 되는 것일까요 하둡이외에 많은 빅데이터 관련된 종류의 시스템,솔루션이 나오고 나와있습니다. 상용 RDBMS 가 설치된 서버는 고가이면서 스토리지 또한 고가이며 소프트웨어 라이선스 또한 매우 고가입니다 그에 비해서 하둡은 오픈소스 프로젝트이기에 소프트웨어 라이선스의 비용에 대한 부담이 없습니다. x86 서버에 리눅스 서버면 얼마든지 하둡을 설치해서 운영할 수 있으며 용량이 부족할 경우 필요한 만큼 리눅스 서버만 추가 하면 됩니다.

기존 RDBMS는 데이터가 저장된 서버에서 데이터를 처리하는 방식이지만 하둡은 여러 대의 서버에 데이터를 저장하고, 데이터가 저장된 각 서버에서 동시에 데이터를 처리하는 방식 입니다. 이러한 분산 컴퓨팅을 통해 기존의 데이터 분석 방법 보다 빠른 성과를 보여줬습니다.

하둡의 저렴한 구축 비용과 비용 대비 빠른 데이터처리, 그리고 장애를 대비한 특성 등이 많은 기업들이 빅데이터에서 하둡을 선택하는 이유 입니다. 초기에 야후에서 주도적으로 사용됐지만 현재는 아마존, 이베이,페이스북, 마이스페이스 등의 수많은 기업에서 사용되고 있으며, 국내에서는 네이버,카카오 와 같은 포탈 이외 수많은 기업에서 사용 되고 있습니다.

많은 글로벌 IT서비스 기업들이 빅데이터 시장에 뛰어들고 있습니다 EMC,IBM,테라데이타,오라클,Dell,마이크로소프트,HP 등은 하둡과 관련된 제품을 출시하고 있으며 마케팅을 강화하고 있습니다 국내에서 여러 회사도 하둡과 연계한 자체 솔루션을 선보이고 있습니다.


6. 하둡이 지나온 길

구글은 자사의 인터넷 서비스를 위해 개발한 분선 처리 기술인 GFS(Google File System) 와 맵리듀스를 각각 2003년 과 2004년에 논문을 통해 발표했습니다. 오픈소스 검색 엔진인 너치를 개발 중이던 더그 커팅과 마이크 카파렐라(Mike Caferella)는 웹 검색에서 발생된 데이터를 분산 처리 하는데 어려움을 느끼고 있던 중 구글의 논문을 접한 후 2005년에 이를 자바로 구현하기 시작하였습니다. 이렇게 하둡은 개발이 되었고 초기에 너치의 서브 프로젝트로 있다가 2008년에 아파치의 최상위 프로젝트로 승격됩니다.

2012년 1월 아파치 하둡 프로젝트 팀은 정식 1.0 버전을 발표했습니다. 1.0 버전은 0.20 버전대의 기능을 합쳐서 출시됐으며, 1.0 이라는 버전의 숫자는 많은 의미를 내포하고 있으며 이제는 시스템이 많이 안정화되었음을 의미 합니다.

그리고 2013년 10월에 0.23.x 버전을 기반으로 하둡 2.0 이 정식 버전이 출시 되었습니다.


※ Ref : 시작하세요! 하둡 프로그래밍(개정 2판) 책의 내용을 정리한 포스팅 입니다

 


이어지는 다음 글 

 

답글 남기기