통계학/ADP

[ADP] 빅데이터 처리기법

헬로희 2025. 1. 17. 22:04
728x90

1. 데이터 처리 기법 비교

구분 전통적 데이터 처리 기법 빅데이터 처리 기법 비고
추출  운영DB(Operational Database)
   → ODS
 ODS → 데이터웨어하우스
 빅데이터 환경 → 빅데이터환경 특정 소스에서 타깃으로 데이터를 옮긴다는 측면은 동일
변환 O O  
로딩 O O
시각화 X O 시각화를 통해 대용량 데이터에서 통찰력(Insight)을 획득하고자 하는 시도는 빅데이터 고유한 특성
분석  OLAP
  통계(Statistics)와 데이터마이닝 기술
 통계와 데이터마이닝 기술 각종 통계 도구/기법과 데이터마이닝의 분석 모델 설계/운영/개선 기법의 적용은 유사
리포팅 비즈니스 인텔리전스 비즈니스 인텔리전스  
인프라
스트럭처
  SQL
  전통적 RDBS 인스턴스(HA포함)
 NoSQL등
 초대형분산(Redundant)
  데이터 스토리지
전통적 데이터 저장 메커니즘 대비 다수의 노드에 중복을 허용하는 방식으로 데이터를 저장하는 것은 빅데이터의 고유한 특성

2. 대용량 비정형 데이터 처리기법

1) 대용량 로그 데이터 수집

i. 로그(log)

  • 비정형 데이터: 일정한 규격이나 형태가 없는 구조화되지 않은 데이터
    ex) 책, 블로그 등
  • 아파치 Flume-NG, 페이스북 Scribe, 아파치 Chukwa 등

ii. 대용량 비정형 데이터 수집 시스템 특징

  • 초고속 수집 성능과 쉽게 확장할 수 있는 구조
  • 데이터 전송보장 메커니즘
  • 다양한 수집과 저장 플러그인
  • 인터페이스 상속을 통한 애플리케이션 기능 확장

2) 대규모 분산 병렬 처리

i. 하둡(Hadoop)

  • 맵리듀스(MapReduce) 시스템과 분산 파일시스템인 HDFS를 핵심구성요소로 가지는 플랫폼 기술
  • 여러 대의 컴퓨터를 하나의 시스템인 것처럼 묶어 분산환경에서 빅데이터를 저장 및 처리할 수 있도록 하는 자바 기반의 오픈소스 프레임워크
  • 비공유 분산 아키텍처

ii. 하둡의 특징

  • 선형적인 성능과 용량 확장
    - 클러스터를 구성할 수 있는 서버의 대수에는 제한이 없고 통상적으로 최소 클러스터 대수는 5대 정도
    - 비공유 분산 아키텍처 시스템이기 때문에 서버를 추가하면 연산 기능과 저장 기능이 서버 대수에 비례해 증가
  • 고장 감내성
    - HDFS에 저장되는 데이터는 3중복제가 되어 서로 다른 물리서버에 저장되므로 서버에서 장애가 발생하더라도 데이터 유실을 방지 할 수 있음
    - 시스템이 자동으로 감지해 장애가 발생찬 특정 태스크만 다른 서버에서 재실행 가능
  • 핵심 비즈니스 로직에 집중
    - 하둡의 맵리듀스는 맵과 리듀스 2개의 함수만 구현하면서 동작하는 시스템
    - 시스템에서 발생하는 장애에 대해 자동복구(failover)를 제공하고 곽장성 및 성능 등의 이슈도 하둡이 내부적으로 최적화해 처리

  • 풍부한 에코시스템 형성
    - Zoopkeeper: 분산 환경에서 서버들간에 상호 조정이 필요한 다양한 서비스 제공
    - Oozie: 하둡작업을 관리하는 워크플로우 및 코디네이터 시스템
    - Hbase: HDFS 기반의 컬럼 NoSQL
    - Pig: 복잡한 맵리듀스 프로그래밍을 대체할 Pig Latin 언어 제공
    - Hive: 하둡 기반의 DW, 테이블 단위의 데이터 저장과 HiveQL쿼리 지원
    - Mahout: 하둡기반으로 데이터 마이닝 알고리즘을 구현한 오픈 소스 라이브러리
    - Hcatalog: 하둡 기반의 테이블 및 스토리지 관리
    - Avro: RPC(Remote Procedure Call)과 데이터 직렬화를 지원하는 프레임워크
    - Chukwa: 분산환경에서 생성되는 데이터를 HDFS에 안정적으로 저장시키는 플랫폼
    - Flume: 소스서버에 에이전트가 설치되고, 에이전트로부터 데이터를 전달받는 콜렉터로 구성
    - Scribe: 페이스북에서 개발된 데이터 수집 플랫폼, Chukwa와 달리 중앙집중서버로 전송
    - Sqoop: 대용량 데이터 전송 솔루션. HDFS, RDBMS, DW, NoSQL등 다양한 저장소에 대용량 데이터를 신속하게 전송할 수 있는 방법 제공
    - Hiho: 대용량 데이터 전송 솔루션. 하둡에서 데이터를 가져오기 위한 SQL을 지정ㅎ라 수 있으며 JDBC인터페이스 지원

하둡의 구성

  • 맵리듀스/HDFS: 빅데이터 처리와 분산을 위한 기반 기술로 하웁 에코시스템의 코어 프로젝트
  • YARN: 맵리듀스의 단점을 극복하기 위해 시작되어 하둡 2.0부터 제공되는 프로젝트로 분산 애플리케이션을 구현하기 위한 자원 관리 프레임워크를 지원함
  • Flume-NG
    - 데이터가 발생하는 애플리케이션 단계
    - 발생한 데이터를 수집하는 단계
    - 수집한 데이터를 저장하는 단계
    - 데이터 저장소 보관 단계
구분 주요기술
데이터 수집 Flume-NG, kafka
데이터 연동 Sqoop
분산 데이터베이스 Hbase
대용량 SQL질의 Hive, Pig
실시간 SQL질의 Impala, Tajo
워크플로 관리 Oozie, Azkaban

3) 데이터 연동

i. 스쿱(Sqoop)

  • 하둡과 데이터베이스 간의 데이터 연동 솔루션
  • SQL, PostgreSQL, 사이베이스 등 JDBC를 지원하는 대부분의 관계형 데이터베이스와의 연동 지원
  • 하둡에서 제공하는 맵 인풋 포맷터를 사용하며 SQL을 통해 테이블에서 데이터를 추출
  • 데이터 이동을 맵리듀스를 통해 처리하여 장애 허용능력과 병렬 처리기능 제공
  • Import 명령어를 이용하여 RDBMS의 데이터를 HDFS로 옮김
  • Export 명령어를 이용하여 HDFS의 데이터를 EDBMS로 옮김

4) 대용량 질의 기술

i. 하이브(Hive)

  • SQL 질의기술을 이용해 하둡에 저장된 데이터를 쉽게 처리하고 분석할 수 있도록 해줌
  • 하둡과 하이브는 대용량 데이터를 배치처리하는데 최적화되어 있지만 실시간으로 조회하기에 제약이 있음

ii. SQL on 하둡기술: 실시간 SQL 질의 분석 기술

  • 아파치 드릴(Drill): 하둡전문회사인 맵알(MapR)이 주축인 프로젝트로 드레멜의 아키텍쳐와 기능을 동일하게 구현한 오픈소스 버전의 드레멜
  • 아파치 스팅거(Stinger): 하둡전문회사인 호튼웍스에서 개발을 주도하여 기존의 하이브 코드를 최대한 이용하여 성능을 개선하는 식으로 개발이 진행되고 있음
  • 샤크(Shark): 인메모리기반의 대용량 DW시스템. 하이브와 호환되기 때문에 하이브 SQL질의와 사용자 정의함수를 사용할 수 있음
  • 아파치 타조(Tajo): 고려대학원에서 시작하여 빅데이터전문회사인 그루터(Gruter)가 합류하여 개발을 진행. 아파치 인큐베이션 프로젝트로 등록되어 있음
  • 임팔라(Impala): 하둡전문회사인 클라우데라(Cloudera)에서 개발을 주도
  • 호크(HAWQ): EMC에서 분사한 하둡전문회사인 피보탈(Pivotal)에서 개발. 상용과 커뮤니티의 2가지 버전 제공
  • 프레스토: 페이스북에서 자체개발하여 사용하는 하둡기반의 데이터웨어하우징 엔진으로 아파치 라이센스로 공개됨
728x90