3. 자료처리/빅데이터분석

하둡(Hadoop) 에코 시스템

SWExpert 2022. 11. 1. 22:51

I. 하둡 에코 시스템

-. 빅데이터를 위한 핵심기술인 하둡의 활용성을 높이기위해 기본 코어 시스템인 HDFS(분산저장)과 MapReduce(분산처리)에 다양한 서브 시스템을 추가하여 구성한 빅데이터 수집, 저장, 처리, 분석 시스템

-. 여러 컴퓨터로 구성된 클러스터를 이용하여 방대한 양의 데이터를 처리하는 분산 처리 프레임워크

-. 구글의 맵리듀스 인프라스트럭쳐에 대한 논문이 발표된 후 이의 복제품으로 오픈소스 프로젝트가 됨

-. 분산처리 시스템인 구글 파일 시스템을 대체할 수 있는 하둡 분산 파일 시스템과 맵리듀스를 구현한 것

-특징: scale out, 노드 변경 용이, 높은 가용성, SPOF 구조

특징 내용
scale-out
  • 장비가 추가될 때마다 전체 가용량(capacity) 및 성능이 거의 선형적으로 증가하는 구조
노드 변경 용이
  • JobTracker Name Node는 다른 장비들과 주기적으로 통신하면서 상태 감시
  • 일부 장비 제거나 추가시 자동으로 인식하여 처리함
  • 시스템을 중단하지 않더라도 장비의 추가 및 삭제가 비교적 자유로움
높은 가용성
  • 일부 장비에 장애가 발생하더라도 전체 시스템 사용성에 영향이 적음
SPOF 구조
  • Single Point of Failure 구조
  • TackTrackeer Data Node의 장애에 대해서 강건한 반면, JobTracker Name Node에 생기는 장애에 대해서 취약

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