MapReduce vs Spark

2024. 1. 16. 11:18테크 칼럼

https://sunrise-min.tistory.com/entry/MapReduce-vs-Spark-%EB%A7%B5%EB%A6%AC%EB%93%80%EC%8A%A4%EC%99%80-%EC%8A%A4%ED%8C%8C%ED%81%AC%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90

 

MapReduce vs Spark | 맵리듀스와 스파크의 차이점

위 그림에서 볼 수 있듯이 기존 MapReduce 엔진(왼쪽)과 비교하여 최신 처리 프레임워크(Tez, Impala 및 Spark)와의 주요 차이점은 HDFS에 중간 결과를 쓰지 않고 실행 그래프를 크게 최적화한다는 것입니

sunrise-min.tistory.com

 

맵리듀스와 스파크의 차이점은 그 처리 방법에 있다.

맵리듀스는 HDFS에 중간결과를 저장하지만, Spark는 중간결과를 저장하지 않는다.

그리고 최적화 측면에서 Spark는 로컬 노드의 메모리에서 데이터를 처리/캐싱하는 것이다.

 

Spark는 메모리 내에서 처리할 수 있지만 Hadoop MapReduce는 디스크에서 읽고 써야한다

결과적으로 처리속도측면에서 Spark 가 100배 정도 빠르다

 

하지만 Hadoop MapReduce는 Spark보다 훨씬 큰 데이터셋으로 작업할 수 있다

 

퍼포먼스 측면

 

Hadoop은 디스크에서 작업하기 때문에  상대적으로 느리고 데이터에서 실시간 분석을 할 수 없다 

 

Spark는 메모리에서 처리하기때문에 실시간 처리가 가능하고 빠르지만, 많은 RAM을 필요로 한다 

MapReduce는 데이터 캐싱은 제공하지 않지만 서비스는 완료즉시 작업을 종료하므로 성능저하 없이 지원 가능하다

 

비용 측면

 

Hadoop은 오픈소스이기 때문에 더 저렴한 비용으로 실행되며 디스크에 더 많은 메모리가 필요하다

Spark는 더 많은 RAM이 필요하서 Spark 클러스터를 설정하는데 비용이 더 들수도 있다

 

대용량 데이터를 처리할때는 Hadoop이 비용상 저렴하게 사용될 수 있다.

 

하지만 성능 측면에서는 Spark가 더 적은 하드웨어를 필요로 하기때문에 저렴하게 적용할 수 있다(데이터가 적을경우)

 

복구 측면

 

MapReduce는 작업을 수행하는 동안 실패하면 중단된 위치에서 다시 시작된다.

Spark는 데이터 처리 활동중 출돌되면 처음부터 다시 시작된다

 

 

 

총평

 

MapReduce는 거대한 데이터세트의 선형처리, 실시간성을 배제할 경우 매우 경제적인 솔루션이다 

 

Spark는 빠른데이터 처리과 반복작업, 실시간 프로세싱 및 그래프 처리할 때 매우 유용한 솔루션이다 

 

 

 

 

 

'테크 칼럼' 카테고리의 다른 글

Oracle에서 PostgreSQL 마이그레이션 (1)  (0) 2024.01.10