빅데이터를 통한 "통합" "컴퓨팅 엔진"
🔑 "통합" : 스파크 하나로 모든 처리를..!
빅데이터 애플리케이션 개발에 필요한 통합 플랫폼의 제공이 핵심 목표
데이터 읽기, SQL 처리, 스트림 처리, 머신러닝까지 다양한 작업을 같은 연산 엔진과 일관성 있는 API로 수행 가능
🔑 "컴퓨팅 엔진"
스파크는 저장소의 역할은 수행하지 않는다.
데이터 연산에 집중!
HDFS, 카산드라, Kafka 등 다양한 storage를 지원
빅데이터 처리를 위한 오픈소스 병렬 분산 처리 플랫폼
인메모리 기반의 대용량 데이터 고속 처리 엔진
범용 분산 클러스터 컴퓨팅 프레임워크
하둡의 맵리듀스(MapReduce)는 병렬로 데이터를 처리하는 최초의 오픈소스 시스템이자 클러스터 환경용 병렬 프로그래밍 엔진의 대표주자였다.
🗺️ MapReduce
그러나 맵리듀스 엔진을 사용하는 대규모 애플리케이션에는 난이도와 효율성 문제가 존재하였다.
🥲 MapReduce의 한계
성능적 한계
디스크 기반: 메모리 기반에 비해 속도가 느리다
알고리즘적 한계
다양한 데이터 분석 과정이 단순히 map, reduce 패턴으로 치환되어 처리되기 어렵다
외부 라이브러리(R, Python 등) 다른 분석용 도구를 연동하기에 불편하다
이러한 문제점을 해결하기 위해 Spark가 등장하였다! 😎
[출처] 스파크 완벽 가이드 (빌 체임버스, 마테이 자하리아 지음)