2015.12.15

하둡과 아파치 스파크, 무엇이 어떻게 다른가? 5가지 궁금증

Katherine Noyes | IDG News Service
종종 하둡과 아파치 스파크가 빅데이터 영역에서 경쟁관계 있는 것처럼 보이기도 했지만 최근 들어 이 둘이 서로 조화를 이룬다는 생각이 점점 더 확산되고 있다.


하둡과 아파치 스파크 둘 다 빅데이터 프레임워크다. 이미지 출처 : IDGNS

빅데이터를 다루는 대화나 기사를 접하다 보면 하둡과 아파치 스파크라는 이름을 어렵잖게 들을 수 있다. 그렇다면 이들의 정체는 무엇이고, 둘 사이에는 어떤 차이점이 있을까?

1. 하둡과 아파치 스파크의 역할은 다르다. 하둡과 아파치 스파크는 모두 빅데이터 프레임워크라는 점에서는 공통 분모를 가지지만, 그 용도에는 상당한 차이가 있다. 먼저 하둡은 기본적으로 분산형 데이터 인프라스트럭처로써, 대량의 데이터 컬랙션을 상용 서버 클러스터 내 복수의 노드들에 분산시키는 역할을 한다. 맞춤 제작한 하드웨어를 구매하고 유지하는데 들어가는 사용자의 비용 부담을 줄여준다는 점이 이 방식의 장점이다. 또 하둡은 데이터를 인덱싱하고 추적해 빅데이터 프로세싱 및 애널리틱스 활동의 효율성을 큰 폭으로 개선한다는 점에서도 많은 시장의 지지를 얻고 있다. 이와 달리 스파크는 이러한 분산형 데이터 컬랙션 상부에서 동작하는 데이터 프로세싱 툴이며, 분산형 스토리지로서의 역할은 수행하지 않는다.
 
2. 하둡과 아파치 스파크는 상호 독립적이다. 하둡은 하둡 분산형 파일 시스템(HDFS, Hadoop Distributed File System)이라는 이름의 스토리지 컴포넌트와 더불어 프로세싱 컴포넌트인 맵리듀스도 제공한다. 즉 프로세싱 작업을 위해 스파크를 필수적으로 필요로 하지 않는 것이다. 반대로 스파크도 하둡 없이 이용할 수 있다. 스파크에 자체 파일 관리 시스템이 포함되진 않고 그것을 필요로 하는 것은 사실이지만, 굳이 HDFS가 아니더라도 여타 클라우드 기반 데이터 플랫폼과도 융합될 수 있기 때문이다. 그러나 스파크 자체가 본래 하둡용으로 설계된 솔루션인만큼 둘이 함께할 때 가장 좋은 궁합을 보여주긴 한다.

3. 스파크가 더 빠르다. 일반적인 상황에서 스파크의 속도는 맵리듀스와 비교해 월등히 뛰어나다. 데이터 프로세싱 방법에 따른 차이다. 단계별 데이터 처리 방식을 취하는 맵리듀스와 달리 스파크는 전체 데이터셋을 한번에 다룬다. 부즈 알렌 헤밀튼(Booz Allen Hamilton)의 수석 데이터 과학자 커크 본은 “맵리듀스의 워크플로를 설명하자면, 먼저 클러스터에서 데이터를 읽어낸 뒤, 동작을 실행하고, 결과를 클러스터에 기록한 다음, 또 다시 업데이트된 데이터를 클러스터로부터 읽어내고 다음 동작을 실행한 후 결과를 클러스터에 입력하는 식이다. 반면 스파크는 모든 데이터 운영을 메모리 내에서 실시간에 가깝게 처리할 수 있다. 풀어 설명하자면 클러스터로부터 데이터를 읽어 들이고 필요한 모든 애널리틱스 운영을 수행하는, 그리고 결과물을 클러스터에 입력하는 전 과정이 동시적으로 진행되는 것이다”라고 이야기했다. 배치 프로세싱의 경우에는 스파크가 맵리듀스에 비해 10배 빠른 수행이 가능하며, 인 메모리 애널리틱스의 경우에는 속도 차이가 100배에 이른다고 본은 설명했다. 

4. 스파크의 속도가 꼭 필요한 것은 아니다. 데이터 운영 및 리포팅 요구 대부분이 정적인 것이고 배치 모드 프로세싱을 기다릴 수 있다면, 맵리듀스의 프로세싱 방식이 문제가 되지는 않을 것이다. 스파크가 정말로 필요한 상황은 공장 내 센서 등이 발생시키는 스트리밍 데이터를 처리하거나, 머신러닝 알고리즘과 같이 애플리케이션이 복합적인 운영을 필요로 하는 경우다. 구체적으로 실시간 마케팅 캠페인, 온라인 상품 추천, 사이버 보안 분석, 기계 로그 모니터링 등의 애플리케이션 작업에 스파크가 많은 도움이 되는 것이다. 

 
5. 고장 회복 방식은 다르지만, 둘 다 준수하다. 매 운영 이후 결과를 디스크에 기록하는 하둡의 방식은 시스템 사고나 고장 상황에서 매우 유용할 수 있다. 그리고 스파크의 경우에는 탄력적 분산형 데이터셋(RDD, Resilient Distributed Dataset)이라는 형태로 데이터 오브젝트들을 데이터 클러스터 전반에 분산시킴으로써 탄력성을 보장한다. 본은 “이 데이터 오브젝트들은 메모리 내에, 혹은 디스크에 저장할 수 있으며, 또 RDD는 사고나 고장이 나더라도 완벽하게 복구할 수 있게 하는 기술이다”라고 설명했다. ciokr@idg.co.kr



2015.12.15

하둡과 아파치 스파크, 무엇이 어떻게 다른가? 5가지 궁금증

Katherine Noyes | IDG News Service
종종 하둡과 아파치 스파크가 빅데이터 영역에서 경쟁관계 있는 것처럼 보이기도 했지만 최근 들어 이 둘이 서로 조화를 이룬다는 생각이 점점 더 확산되고 있다.


하둡과 아파치 스파크 둘 다 빅데이터 프레임워크다. 이미지 출처 : IDGNS

빅데이터를 다루는 대화나 기사를 접하다 보면 하둡과 아파치 스파크라는 이름을 어렵잖게 들을 수 있다. 그렇다면 이들의 정체는 무엇이고, 둘 사이에는 어떤 차이점이 있을까?

1. 하둡과 아파치 스파크의 역할은 다르다. 하둡과 아파치 스파크는 모두 빅데이터 프레임워크라는 점에서는 공통 분모를 가지지만, 그 용도에는 상당한 차이가 있다. 먼저 하둡은 기본적으로 분산형 데이터 인프라스트럭처로써, 대량의 데이터 컬랙션을 상용 서버 클러스터 내 복수의 노드들에 분산시키는 역할을 한다. 맞춤 제작한 하드웨어를 구매하고 유지하는데 들어가는 사용자의 비용 부담을 줄여준다는 점이 이 방식의 장점이다. 또 하둡은 데이터를 인덱싱하고 추적해 빅데이터 프로세싱 및 애널리틱스 활동의 효율성을 큰 폭으로 개선한다는 점에서도 많은 시장의 지지를 얻고 있다. 이와 달리 스파크는 이러한 분산형 데이터 컬랙션 상부에서 동작하는 데이터 프로세싱 툴이며, 분산형 스토리지로서의 역할은 수행하지 않는다.
 
2. 하둡과 아파치 스파크는 상호 독립적이다. 하둡은 하둡 분산형 파일 시스템(HDFS, Hadoop Distributed File System)이라는 이름의 스토리지 컴포넌트와 더불어 프로세싱 컴포넌트인 맵리듀스도 제공한다. 즉 프로세싱 작업을 위해 스파크를 필수적으로 필요로 하지 않는 것이다. 반대로 스파크도 하둡 없이 이용할 수 있다. 스파크에 자체 파일 관리 시스템이 포함되진 않고 그것을 필요로 하는 것은 사실이지만, 굳이 HDFS가 아니더라도 여타 클라우드 기반 데이터 플랫폼과도 융합될 수 있기 때문이다. 그러나 스파크 자체가 본래 하둡용으로 설계된 솔루션인만큼 둘이 함께할 때 가장 좋은 궁합을 보여주긴 한다.

3. 스파크가 더 빠르다. 일반적인 상황에서 스파크의 속도는 맵리듀스와 비교해 월등히 뛰어나다. 데이터 프로세싱 방법에 따른 차이다. 단계별 데이터 처리 방식을 취하는 맵리듀스와 달리 스파크는 전체 데이터셋을 한번에 다룬다. 부즈 알렌 헤밀튼(Booz Allen Hamilton)의 수석 데이터 과학자 커크 본은 “맵리듀스의 워크플로를 설명하자면, 먼저 클러스터에서 데이터를 읽어낸 뒤, 동작을 실행하고, 결과를 클러스터에 기록한 다음, 또 다시 업데이트된 데이터를 클러스터로부터 읽어내고 다음 동작을 실행한 후 결과를 클러스터에 입력하는 식이다. 반면 스파크는 모든 데이터 운영을 메모리 내에서 실시간에 가깝게 처리할 수 있다. 풀어 설명하자면 클러스터로부터 데이터를 읽어 들이고 필요한 모든 애널리틱스 운영을 수행하는, 그리고 결과물을 클러스터에 입력하는 전 과정이 동시적으로 진행되는 것이다”라고 이야기했다. 배치 프로세싱의 경우에는 스파크가 맵리듀스에 비해 10배 빠른 수행이 가능하며, 인 메모리 애널리틱스의 경우에는 속도 차이가 100배에 이른다고 본은 설명했다. 

4. 스파크의 속도가 꼭 필요한 것은 아니다. 데이터 운영 및 리포팅 요구 대부분이 정적인 것이고 배치 모드 프로세싱을 기다릴 수 있다면, 맵리듀스의 프로세싱 방식이 문제가 되지는 않을 것이다. 스파크가 정말로 필요한 상황은 공장 내 센서 등이 발생시키는 스트리밍 데이터를 처리하거나, 머신러닝 알고리즘과 같이 애플리케이션이 복합적인 운영을 필요로 하는 경우다. 구체적으로 실시간 마케팅 캠페인, 온라인 상품 추천, 사이버 보안 분석, 기계 로그 모니터링 등의 애플리케이션 작업에 스파크가 많은 도움이 되는 것이다. 

 
5. 고장 회복 방식은 다르지만, 둘 다 준수하다. 매 운영 이후 결과를 디스크에 기록하는 하둡의 방식은 시스템 사고나 고장 상황에서 매우 유용할 수 있다. 그리고 스파크의 경우에는 탄력적 분산형 데이터셋(RDD, Resilient Distributed Dataset)이라는 형태로 데이터 오브젝트들을 데이터 클러스터 전반에 분산시킴으로써 탄력성을 보장한다. 본은 “이 데이터 오브젝트들은 메모리 내에, 혹은 디스크에 저장할 수 있으며, 또 RDD는 사고나 고장이 나더라도 완벽하게 복구할 수 있게 하는 기술이다”라고 설명했다. ciokr@idg.co.kr

X