Hadoop은 대용량 데이터를 효율적으로 저장하고 처리하기 위해 탄생한 오픈소스 분산 컴퓨팅 프레임워크이다.
데이터 사용에 대한 폭발적인 증가[^1] 에 따라 기존의 단일 서버 시스템으로는 속도와 확장성 문제가 발생했다. Google의 연구 논문(GFS, MapReduce)에서 영감을 받아 탄생했으며, 2006년,Hadoop이 오픈소스로 공개되었다. 이 후, 대용량 데이터를 분산 저장(HDFS)하고 병렬 처리(MapReduce)하는 빅데이터 혁명의 시작점이 되었다.
Big Data(빅데이터)는 방대한 양의 데이터를 의미하며, 이를 수집, 저장, 처리 및 분석하여 유용한 인사이트를 도출하는 기술 및 방법론을 포함하는 개념이다.
빅데이터는 일반적으로 아래 3V(혹은 5V) 특성을 갖는 데이터를 의미한다.
빅데이터는 다양한 산업에서 활용되고 있다.
Hadoop은 크게 두 가지 핵심 기술로 구성된다.
HDFS (Hadoop Distributed File System)
MapReduce - 분산 데이터 처리 프레임워크
추가적으로, Hadoop에는 YARN(리소스 관리), Hive(SQL 지원), HBase(NoSQL 데이터베이스) 등이 포함됨.
| 한계점 | 해결 방법 |
|---|---|
| 디스크 기반 처리로 속도가 느림 | Spark(메모리 기반 연산)로 해결 |
| 실시간 처리 부족 | Spark Streaming, Flink로 대체 |
| 복잡한 Java 코드 필요 | Scala, Python API 지원 |
하둡의 한계를 극복하기 위해 메모리 기반의 빠르고 유연한 데이터 처리 기술이 필요했다. 2009년, UC Berkeley의 AMPLab 연구팀은 Hadoop MapReduce의 단점을 해결하기 위해 새로운 분산 데이터 처리 프레임워크를 연구하기 시작했고, 2010년 오픈소스로 공개했다.
Apache Spark는 빅데이터를 빠르고 효과적으로 처리하기 위한 오픈소스 분산 컴퓨팅 프레임워크이다.
[^1]: 📌데이터의 폭발적인 증가
1990년대 후반~2000년대 초반, 인터넷과 디지털 기술이 발전하면서 데이터의 양이 폭발적으로 증가했다. 1) 검색 엔진, SNS, 전자상거래 등에서 웹 로그, 이미지, 동영상, 텍스트 데이터가 급증 2) 기존 데이터베이스(RDBMS)는 대용량 데이터 저장 및 분석에 한계를 보임 3) 분산 환경에서 데이터를 효율적으로 저장하고 처리할 새로운 기술이 필요함