I. 하둡 에코 시스템
-. 빅데이터를 위한 핵심기술인 하둡의 활용성을 높이기위해 기본 코어 시스템인 HDFS(분산저장)과 MapReduce(분산처리)에 다양한 서브 시스템을 추가하여 구성한 빅데이터 수집, 저장, 처리, 분석 시스템
-. 여러 컴퓨터로 구성된 클러스터를 이용하여 방대한 양의 데이터를 처리하는 분산 처리 프레임워크
-. 구글의 맵리듀스 인프라스트럭쳐에 대한 논문이 발표된 후 이의 복제품으로 오픈소스 프로젝트가 됨
-. 분산처리 시스템인 구글 파일 시스템을 대체할 수 있는 하둡 분산 파일 시스템과 맵리듀스를 구현한 것
-특징: scale out, 노드 변경 용이, 높은 가용성, SPOF 구조
특징 | 내용 |
scale-out |
|
노드 변경 용이 |
|
높은 가용성 |
|
SPOF 구조 |
|
II 하둡 에코 시스템
가. 하둡 에코시스템: 분석 인프라 부분 중점
나. 빅데이터 에코시스템: 분석 인프라 부분과 표현기술/알고리즘으로 분류
다. 하둡 주요 프로젝트
분류 | 구성요소 | 설명 |
코디네이터, 관리 | Zookeeper | 분산 환경에서 서버들 간에 상호 조정이 필요한 다양한 서비스를 제공 |
Oozie | 하둡 작업을 관리하는 워크플로우 및 코디네이터 시스템 | |
리소스 관리 | YARN | 클러스터 자원과 스케줄링을 위한 프레임워크 |
Mesos | 인프라스트럭처 및 컴퓨팅 엔진의 다양한 자원을 통합 관리 | |
데이터 저장, 처리, 분석 | HBase | HDFS 기반의 칼럼 기반 데이터베이스(NoSQL) |
Kudu | 컬럼 기반의 스토리지로서, 특정 컬럼에 대한 데이터 읽기를 고속화 | |
Pig | 복잡한 MapReduce 프로그래밍을 대체할 Pig Latin 언어 제공 | |
Hive | HDFS에 저장된 데이터를 관리. 쿼리를 제공하는 웨어하우스 솔루션 하둡 기반의 데이터웨어하우스, 테이블 단위의 데이터 저장과 HiveQL 쿼리 지원 |
|
Mahout | 확장 가능한 머신러닝과 데이터 마이닝을 위한 라이브러리 하둡기반으로 데이터마이닝 알고리즘을 구현한 오픈 소스 라이브러리 |
|
HCatalog | 하둡으로 생성한 데이터를 위한 테이블 및 스토리지 관리 서비스 하둡 기반의 테이블 및 스토리지 관리 |
|
직렬화 | Avro | RPC(Remote Procedure Call)과 데이터 직렬화를 지원하는 프레임워크 |
Thrift | 서로 다른 언어로 개발된 모듈들의 통합을 지원하는 RPC 프레임워크 | |
비정형 데이터 수집/제어 | Chukwa | 생성 데이터를 HDFS에 안정적으로 저장시키는 플랫폼 분산 환경에서 생성되는 데이터를 HDFS에 안정적으로 저장시키는 플랫폼 |
Flume | 흐름관리 마스터 서버 존재, 데이터 제어 동적으로 변경 가능 소스서버에 에이전트가 설치되고, 에이전트로부터 데이터를 전달받는 콜랙터로 구성 |
|
Scribe | 데이터 수집 플랫폼, 데이터를 중앙 집중 서버로 전송하는 방식 페이스북에서 개발된 데이터 수집 플랫폼으로 Chukwa와 달리 중앙집중서버로 전송 |
|
정형 데이터 수집/제어 | Sqoop | 다양한 저장소에 대용량 데이터를 신속하게 전송 HDFS, RDBMS, DW, NoSQL 등 다양한 저장소에 대용량 데이터를 신속하게 전송할 수 있는 방법 제공 |
Hiho | Sqoop과 같은 대용량 데이터 전송 솔루션, SQL/JDBC 인터페이스 지원 하둡에서 데이터를 가져오기 위한 SQL을 지정할 수 있음 |
|
실시간 질의 | Impala | 하둡 기반의 실시간 SQL 질의 시스템, 맵리듀스 미사용 |
Tajo | 하둡 기반의 DW 시스템(저장소는 HDFS, DB 질의 SQL 적용) |
하둡2.0부터 Yam 적용, 기존 하둡의 데이터 처리 프레임워크인 맵리듀스의 단점 극복
III. 분산 시스템 비교
기능 | 하둡(맵리듀스) | 스파크 | 스톰 |
데이터 처리방법 | 일괄처리 | 일괄처리 | 실시간 스트리밍 처리 |
업데이트 단위 | 레코드 | 파일 또는 테이블 | 스트림(튜플) |
컴퓨팅 환경 | 디스크 기반 | 인 메모리 기반 | 인 메모리 기반 |
반복연산 | Weak | Strong | Medium |
주 프로그래밍 언어 | Java | Scala | Clojure |
SQL 지원 여부 | 지원 | 스파크 SQL에서 지원 | 관련 없음 |
IV. DW용 DBMS vs. Hadoop
비교항목 | DW용 DBMS | Hadoop |
목적 | 데이터 조회의 분산처리 | 다양한 workload 분산처리 (배치, 데이터 조회, Streaming 등) |
대상 데이터 | 정형 | 정형, 비정형 |
데이터 처리방식 | SQL | SQL 이외에 다양한 스크립트 및 언어 지원 |
성능 | 조회 성능 우수 특히, 인덱싱된 데이터 조회 성능 우수 |
배치 처리 우수 전체 데이터 조회(full scan) 성능 우수 |
동시 사용자 지원 | 수십 ~ 수천 | ~ 수십 |
HW & SW | Commercial SW, Specialized HW → 고비용 | Open Source Software, Commodity HW → 저비용 |
확장성 | 시스템 확장이 까다롭고 느림 | 원하는 용량만큼 신속하게 확장 |
데이터 정합성 체크 | Schema on Write | Schema on Read |
'3. 자료처리 > 빅데이터분석' 카테고리의 다른 글
데이터마이닝 알고리즘 (0) | 2022.11.02 |
---|---|
마이데이터 (0) | 2022.11.01 |
OLAP(Online Analytical Processing) (0) | 2022.09.18 |
Data Mining (0) | 2022.07.13 |