최초에는 일괄 처리를 위해 만들어졌으나 지금은 이를 벗어나 진화하고 있다.
HDFS와 맵리듀스만이 아닌 수많은 에코시스템 프로젝트를 지칭하는 말이다.
하둡 에코시스템은 분산 컴퓨팅과 대규모 데이터 처리를 위한 기반 시설이다.
여러 개의 디스크를 가진 데이터베이스를 이용하여 대규모 분석을 수행할 순 없는건가?
데이터베이스에 있는 일부 레코드를 변경하는 작업은 전통적인 B-트리가 적합
B-트리란?
관계형 데이터베이스에서 사용되는 자료 구조로, 탐색을 수행하는 속도에 제한이 있다.
RDBMS와 맵리듀스의 비교
전통적인 RDBMS | 맵리듀스 | |
---|---|---|
데이터 크기 | 기가바이트 | 페타바이트 |
접근 방식 | 대화형과 일괄 처리 방식 | 일괄 처리 방식 |
변경 | 여러 번 읽고 쓰기 | 한 번 쓰고 여러 번 읽기 |
트랜잭션 | ACID | 없음 |
구조 | 쓰기 기준 스키마 | 읽기 기준 스키마 |
무결성 | 높음 | 낮음 |
확장성 | 비선형 | 선형 |
RDBMS는 상대적으로 작은 양의 데이터를 낮은 지연 시간에 추출하고 변경하기 위해 데이터셋을 색인하기 때문에 특정 쿼리와 데이터 변경에 적합
하둡과 RDBMS은 데이터셋 내부에서 처리되는 구조의 양이 다르다
하둡은 단순히 파일만 복사하면 됨
관계형 데이터는 무결성을 유지하고 중복을 제거하기 위해 주기적으로 정규화
맵리듀스는 선형적으로 확장 할 수 있는 프로그래밍 모델
HPC(고성능 컴퓨터)과 메세지 전달 인터페이스(MPI)와 같은 API를 이용하여 수년간 대규모 데이터 처리
HPC는 SAN으로 연결된 공유 파일시스템에 접근하는 클러스터 머신 여러 대에 작업을 분산
SAN(Storage Area Network)은 스토리지 디바이스의 공유 풀을 상호 연결하여 여러 서버에 제공하는 독립적인 전용 고속 네트워크
하둡 즉 맵리듀스는 계산 노드에 데이터를 함께 배치
대규모 분산 컴퓨팅에서 수많은 프로세스를 조율하는 것은 엄청난 과제
Apache Lucene의 창시자인 더그커팅에 의해 시작됨
오픈소스 웹 검색엔진인 Apache Nutch에서 탄생하였고 Lucene프로젝트의 일부였음 2002년에 시작됨
2003년 구글 GFS에서 아이디어를 얻음
2006년 더그 커팅이 야후에 합류하고 하둡 기술을 적용함
2008년 기술적인 성공과 활발한 커뮤니티를 인정받아 아파치 최고수준의 프로젝트로 등록됨
-> 야후 뿐만 아니라 다양한 회사에서 적용함
하둡은 더그 커팅 아들이 노란 코끼리인형에게 지어준 이름