빅데이터라는 용어와 함께 '하둡'이라는 단어도 들어봤을 것이다. 하둡은 빅데이터를 다루는 유용한 도구이다. 기존의 기술로 할 수 없었던 대량의 데이터를 처리할 수 있도록 해주었다.
대량의 데이터에 대한 프로세싱 확장성과 데이터 포맷, 구조에 관계없이 데이터를 처리할 수 있게 되었다.
하둡이 빅데이터 분야에 적극 활용되기 시작하자 이를 둘러싼 여러 에코시스템이 등장하였다. 하둡 에코시스템이 성장함에 따라 하둡은 빅데이터 필수 기술로 자리 잡아 나갔고, 데이터 관리, 처리 툴로 도입될 수 있었다.
결과적으로 하둡은 기존 데이터 관리 솔루션으로 못하던 대용량 데이터 처리를 가능하게 해 주었다.
하둡은 대용량 데이터의 저장과 분석이 가능한 오픈소스 프레임워크이다. 강력한 병렬 프로세싱 프레임워크를 구현하기 위한 플랫폼을 제공하는 분산 데이터 스토어이다.
노드를 추가하여 분산 처리가 가능한 Scale Out 방식을 사용한다. 왜냐하면 단순한 Scale Up 방식으로는 엄청난 양의 데이터를 수집, 가공, 분석할 수 없기 때문이다.
Scale Up : CPU, 메모리, 하드디스크 등의 리소스를 늘리는 방식
하둡은 아주 큰 규모의 데이터를 저장하는 경우 일어날 수 있는 장애에 대응할 수 있다. 따라서 데이터 손실을 감소시키고 분할된 데이터를 계산할 수 있는 인터페이스가 존재하기 때문에 안정적이고 확장성이 높은 저장, 분석 플랫폼 역할을 제공한다.
기존의 하둡 1.0 버전은 HDFS와 맵리듀스가 존재하였고, 일괄 처리를 담당하였다. 최근에는 수많은 에코시스템의 등장으로 대화형 SQL, 스트림 처리 등 다양한 처리가 가능해졌다.
하둡은 어쩌다 만들어졌을까?
하둡 이전에 넛치 프로젝트가 있었다. 넛치 프로젝트는 웹에 존재하는 모든 웹 페이지들을 크롤링하고, 빨리 찾아줄 수 있는 기술을 개발하는 프로젝트이다.
10억 페이지 규모의 인덱스를 관리할 수 있었지만 인터넷에 존재하는 모든 페이지를 저장소에 다 보관할 수 없었다. 방대한 데이터를 어떻게 처리해야 할까? 저장소를 어떻게 해결해야 할까? 고민하던 찰나에 구글에서 대규모 파일에 대한 시스템 논문이 등장하였다.
넛치 프로젝트 참여자들은 여기에 아이디어를 얻어 구현을 하였고, 그렇게 하둡이 탄생하게 되었다.
다음 장에서는 하둡을 구성하고 있는 HDFS와 맵리듀스에 대해 살펴볼 것이다.
해당 내용을 알기 위해서 하둡을 정확히 알아야 한다는 것보다는 '하둡이란 이런 녀석이구나!' 하고 감을 잡는 게 훨씬 중요하다. (하둡을 공부할 때 팀원들에게 들었던 조언이다.)
한 번에 모든 것을 알려고 하기보다는 조금씩 접근하는 방법이 지치지 않고, 꾸준히 관심을 갖게 하며 공부에 도움이 된다고 생각한다.
그렇기 때문에 하둡은 기존 데이터 관리 솔루션으로 할 수 없었던 것을 가능하게 해 준 플랫폼이라고 정리하고 넘어가면 충분할 것이다.
글을 읽는 모든 분들의 라이킷과 댓글을 환영합니다. ;-)
제가 공부하면서 정리한 내용을 바탕으로 작성했기 때문에 내용에 부족함이 있을 수 있습니다.
보완해야 할 점이나 부정확한 내용이 있다면 댓글로 많은 조언 부탁드립니다.
Copyright 2018. April all rights reserved.