1.1 빅데이터의 시대
1.1.1 빅데이터의 개념
- 데이터의 규모에 초점을 맞춘 정의
기존 데이터베이스 관리도구의 데이터 수집, 저장, 관리, 분석하는 역량을 넘어서는 데이터
- 업무 수행 방식에 초점을 맞춘 정의
다양한 종류의 대규모 데이터로부터 저렴한 비용으로 가치를 추출하고, 데이터의 빠른 수집, 발굴, 분석을 지원하도록 고안된 차세대 기술 및 아키텍처
빅데이터의 3대 요소 (3V)
Volume, Velocity, Variety
1.1.2 빅데이터의 출현 배경
1.2 하둡이란?
하둡은 대용량 데이터를 분산처리할 수 있는 자바 기반의 오픈소스 프레임워크입니다.
1.2.1. 왜 하둡인가?
기존 RDBMS 는 데이터가 저장된 서버에서 데이터를 처리하는 방식이지만,
하둡은 여러 대의 서버에 데이터를 저장하고, 데이터가 저장된 각 서버에서 동시에 데이터를 처리하는 방식이다.
분산 컴퓨팅 방식
1.2.2 하둡이 지나온 길
하둡 정식 1.0 버전
1) 강력한 보안 기능 제공
2) WebHDFS REST (Representational state transfer) API 제공
3) HBase 를 완벽하게 구동
1.3 하둡 에코시스템
- Zookeeper: 분산화경에서 서버간의 상호 조정이 필요한 다양한 서비스를 제공하는 시스템
- Oozie: 하둡 작업을 관리하는 워크플로우 및 코디네이터 시스템
- HBase: HDFS 기반의 칼럼 기반 데이터베이스
- Pig: 야후에서 개발했으나 현재는 아파치 프로젝트에 속한 프로젝트로서, 복잡한 맵리듀스 프로그래밍을 대체할 Pig Latin 이라는 자체 언어를 제공
- Hive: 하둡 기반의 데이터웨어하우징용 솔루션
- Mahout: 하둡 기반으로 데이터 마이닝 알고리즘을 구현한 오픈소스
- HCatalog: 하둡으로 생성한 데이터를 위한 테이블 및 스토리지 관리 서비스
- Avro: RPC (Remote Procedure Call) 와 데이터 직렬화를 지원하는 프레임워크
- Chukwa: 분산환경에서 생성되는 데이터를 HDFS 에 안정적으로 저장하는 플랫폼
- Flume: 척와처럼 분산된 서버에 에이전트가 설치되고, 에이전트로부터 데이터를 전달받는 콜랙터로 구성
- Scribe: 페이스북에서 개발한 데이터 수집 플랫폼이며, 척와와는 다르게 데이터를 중앙 집중 서버로 전송하는 방식
- Sqoop: 대용량 데이터 전송 솔루션이며, 올해 4월에 아파치의 최상위 프로젝트로 승격됨
- Hiho: Sqoop 과 같은 데용량 데이터 전송 솔루션이며, 현재 기트허브 (GitHub) 에 공개되 있음
- Impala: 클라우데라에서 개발한 하둡 기반의 실시간 SQL 질의 시스템
- Tajo: 고려대 박사과정 학생들이 주도해서 개발한 하둡 기반의 DW 시스템
1.4 하둡에 대한 오해
하둡은 기존 RDBMS 를 대체하지 않고 오히려 상호보완적인 특성을 가지고 있다.
NoSQL 이란 관계형 데이터 모델과 SQL 문을 사용하지 않는 데이터베이스 시스템 혹은 데이터 저장소를 의미한다.
1.5 하둡의 과제
1) 고가양성 지원
2) 파일 네임스페이스 제한
3) 데이터 수정 불가
4) POSIX 명령어 미지원
5) 전문 업체 부족
1.6 하둡 배포판 살펴보기
Cloudera
Hortonworks
MapR Technologies
Amazon
Hstreaming