본문 바로가기

빅데이타

‘Big Data’ 질문: Hadoop 이냐 Spark냐?


나는 최근 내 고객에 의해 많이 요청받은 하나를 질문합니다: 우리는 우리의 Big Data 체계에 대해 Hadoop 아니면 Spark 해야 하는가? Spark가 가장 활발한 오픈 소스 Big Data 프로젝트로 Hadoop을 잡았다. 그들이 직접 비교할 만한 제품은 아니지만, 그들은 모두 같은 용도로 쓰였다.

“Hadoop 대 Spark”의 이슈에 도움이 되기 위해 나는 각각의 본질적인 차이점과 유사점을 설명하는 문서가 유용할 수 있다고 생각했다. 언제나 나는 컴퓨터 과학에 대한 배경지식이 없는 사람들을 포함하여, 나는 모든 사람들에게 접근을 유지하기 위해 노력했다.

Hadoop과 Spark 모두 Big Data 골조이다 - 그들은 공통적으로 작업과 관련된 Big Data를 수행하기 위해 가장 많이 사용되는 도구들을 제공한다.

Hadoop은 수년간 Big Data 체계의 열린 자료를 이끌었으나 최근 새롭고 더 진보돤 Spark가 두개의 Apache 소프트웨어 재단 도구 사이에서 더 많은 인기를 끌고 있다.

그러나 그들은 같은 일을 정확히 수행하지 않았고, 그들은 상호 배타적이지 않았다, 그들은 같이 일할 수 있었다. 비록 Spark가 특정 상황에서 Hadoop 보다 100배 더 빠르지만, 이것은 자신의 분산된 저장된 시스템을 제공하지 않는다.

분산된 저장은 이것이 오히려 상당한 비용이 많이 드는 사용자 정의의 기계를 포함하는 것보다 매일 컴퓨터 하드 드라이브의 거의 무한한 수를 통해 저장하는  광대한 멀티 페타바이트 자료 세트를 허용함으로써 오늘날 Big Data 프로젝트의 많은 토대이며 어느 하나의 장치에 모든 것을 놓는다. 이러한 시스템은 확장이 가능하고, 데이타 세트의 크기가 증가함에 따라 더 많은 드라이브가 네트워크에 추가될 수 있음을 의미하는 것이다.

내가 언급했듯이, Spark는 분산 방식을 파일을 정리하기 위한 자체 시스템을 포함하지 않으며 이것은 제3자에서 제공되는 선택 사항 중 하나가 필요합니다. 이러한 이유로 많은 Big Data 프로젝느는 Hadoop의 상단에 Spark를 설치하는 것을 포함하며, 여기서 Spark의 고급 분석된 응용 프로그램은 하둡 분산 파일 시스템(HDFS)을 사용하여 저장할 수 있다.


무엇보다도 Hadoop은 Spark는 분산된 물리적인 스토리지에서 복사에서부터 훨씬 빠른 논리 RAM 메모리 까지 “메모리” 작업의 대부분을 다룬다. 이것은 Hadoop의 MapReduce 시스템으로부터 필요한 느리고 투박한 기계적인 하드 드라이버 로부터 읽고 쓰는 시간을 소비하는 시간의 대부분을 줄인다.

MapReduce는 각각의 작업 후에 물리적인 저장 매체로 모든 데이타를 작성한다. 이것은 RAM에 전자적으로 수행하는 자료는 디스크에 자기적으로 저장된 것보다 더 휘발성이기 때문에 뭔가 잘못되면 경우에 할 수 있는 완전한 회복을 보장하기 위해 이루어졌다.

이러한 실시간 스트림 처리 및 기계 학문으로 향상된 데이터 처리 업무를 처리하기 위한 스파크의 기능은 오직 하둡에서만 가능한 방법이다. 이것은, 메모리 동작에 의해 제공된 속도의 이득과 함께, 인기의 성장에 대한 내 의견으로는, 진짜 이유가 있다. 실시간 처리는 데이터가 분석 응용 프로그램에 공급될 수 있음을 의미하며, 즉시 다시 사용자에게 대시보드를 통해 공급, 조치를 취할 수 있도록 한다. 이러한 종류의 처리는 Big Data 응용 프로그램의 모든 종류에 사용되는, 예를 들어 제조 산업에서의 기계 수행을 모니터링하는 데 사용되는 엔진을 추천한다.


머신 러닝 - 알고리즘을 작성하는 것은 제안된 문제에 대한 이상적인 솔루션이 찾을 때 까지 통계적인 모델링 및 시뮬레이션 과정을 통해 개선하고 “학습”할 수 있는 그들 자신을 위해 “생각”할 수 있으며, 스파크 플랫폼에 적합한 분석 영역이고, 스트리밍 이터를 처리할 수 있는 속도 및 능력 때문이다. 이러한 종류의 기술은 산업에서 최신의 선진 제조 시스템의 중심에  놓이며 이것은 부품이 잘못되거나 교체를 주문할 때 예측할수 있으며, 또한 가까운 미래에 무인 자동차 및 선박의 중심에 놓여질 것이다.

비록 2개의 프레임워크의 존재가 종종 지배를 위한 전쟁으로 내던지고 있기는 하지만, 그건 정말 사실이 아니다. 이것들은 기능의 일부 크로스오버지만, 둘다 비정상적인 제품이며

Cloudera와 같은 큰 업체의 대부분은 현재 Spark와 Hadoop 모두를 제공하며, 그래서 그들은 직업별로 가장 적합한 회사를 조언할 수 있는 좋은 위치에 있을 것이다. 예를 들어 만약 당신의 Big Data가 매우 구조화된 데이타의 엄청난 양(예: 고객의 이름 및 주소)을 구성한다면 당신은 대한 Spark에 의해 제공되는 진보된 흐름 분석 및 자동 학습 기능에 대한 필요가 없을 수 있다. 이것은 당신이 Hadoop 저장을 통해 별도의 레이어로 설치함으로서 시간 및 돈을 낭비하는 것을 의미한다. Spark는 비록 매우 빠르게 발전되고 있다 하더라도, 아직 초기 단계이며, 보안 및 지원 인프라는 발전되지 않았다.


오픈 소스 커뮤니티에서의 Hadoop 활동과 비교하여 발생하는 Spark 활동의 증가량은, 내 의견으로는, 비즈니스 사용자가 매일 저장된 데이타에 대한 점점 더 혁신적인 사용을 찾는 것으로 생각된다. 열린 소스 원칙은 여러가지 방법으로 좋은 일이며, 그중 하나는 서로 나란히 존재하기 위해 겉으로는 유사한 제품을 가능하게 하는 방법이다. 상인들은 고객들이 그들의 자료로부터 최대값을 추출하기 위해 필요한 기반으로 설치 및 지원 서비스를 모두 제공할 수 있으며, 모두 팔 수 있다.

이글의 원문을 보시려면 여기를 클릭해 주십시오.

Bernard Marr | 2015년 7월 24일 11:00

블로그 보기

 

(주)에스비아이에스 부설 솔루션 연구소